FineUI 官方论坛

标题: 【非BUG】在表单中,设置Hidden=true 后,UI上还是占位了。 [打印本页]

作者: jxnkwlp    时间: 2018-4-17 15:17
标题: 【非BUG】在表单中,设置Hidden=true 后,UI上还是占位了。
比如代码:
  1.     @F.Form().Rows(

  2.         F.FormRow().Items(
  3.             F.TextBox().Label("12121"),
  4.             F.TextBox().Label("12121")
  5.         ),
  6.          F.FormRow().Items(
  7.             F.TextBox().Label("12121"),
  8.             F.TextBox().Label("12121"),
  9.             F.Label().Hidden(true)
  10.         ),
  11.           F.FormRow().Items(
  12.             F.TextBox().Label("12121"),
  13.             F.TextBox().Label("12121")
  14.         )
  15.     )
复制代码
[attach]11141[/attach]

在表单中, 设置   Hidden(true) 后,UI上还是占位了。  在上一个版本,是不会的。

说明:  升级 fineuimvc 4.2 后, 发现页面上 原来的 应隐藏的,都 如上面 显示空白出来了。   HideMode 是没有设置过 值。


作者: sanshi    时间: 2018-4-17 15:35
是这样的。v4.2之前的版本效果是不正确的。


可以看下这个示例:http://mvc.fineui.com/#/Form/FormHideField

FormRow默认用的是Column布局,因此Hidden=true的控件还是要占位的,这样Hidden=true的时候就能正常显示出来了。

作者: sanshi    时间: 2018-4-17 21:45
[attach]11143[/attach]

作者: jxnkwlp    时间: 2018-4-18 09:59
http://mvc.fineui.com/#/Form/FormHideField

这个列子,   标题 是放在 formrow 中的, 且 HideMode 未设置, 隐藏后,不占位,这也是之前版本的默认写法 ,设置 hide 后,隐藏且不占位  。  

有个问题就是, 原来的写法 和 这个 demo 是一样的 formRow 结构,(因为不想修改 panel hbox 结构 ),但是占位 了, 请问  是  设置  Hidden=true 和 用js  toggleVisible()     是有区别吗 ?  
作者: sanshi    时间: 2018-4-24 18:28
jxnkwlp 发表于 2018-4-18 09:59
http://mvc.fineui.com/#/Form/FormHideField

这个列子,   标题 是放在 formrow 中的, 且 HideMode 未设 ...

Hidden=true 和 用js  toggleVisible()
----
在客户端执行时,是一样的效果

v5.0之后,FormRow里面的Hidden=true都会占位,因为本质上FormRow里面会添加一个Column布局的列。如果想改变这个默认行为,就不能用FormRow了,可以自定义布局




欢迎光临 FineUI 官方论坛 (https://www.fineui.com/bbs/) Powered by Discuz! X3.4