Angular Formly - 页面加载时隐藏表达式

Angular Formly - HideExpression on page load

我的表单上有很多字段。当用户更改下拉列表中的 selected 值时,每个字段上都有一个 hideExpression shows/hides 字段,具体取决于用户 selected 的内容。这目前工作正常。

但是,我试图将下拉列表默认设置为 select 中的第一个选项。这也很好用。

我的问题是所有 hideExpression 逻辑都没有在加载屏幕时触发。所以 select 是正确的默认值,但是 none 与该选项一起使用的字段(应该显示)是可见的。

如果我手动更改下拉值,则一切都会正确显示。有没有办法让 hideExpression 逻辑即使在 select 通过代码默认时也能启动?

这是我的问题的 JSBin:http://jsbin.com/doliyiruza/edit?js,console,output

页面默认为选项2。然而,只要 select 编辑 Option2,就会显示一个隐藏字段。因此,如果您将下拉列表更改为 Option1,然后返回 Option2...您将看到隐藏字段。如果您默认将下拉菜单设置为特定值,hide/show 逻辑似乎不会启动。

我不是 100% 确定为什么你的东西不起作用,但在你的控制器中查询 DOM 是一个非常非常糟糕的主意。此外,angular-formly 故意尝试使字段 ID 具有不确定性,因此您不能这样做(可能应该使其更随机)。以下是我认为您要实现的目标:http://jsbin.com/bifaza/edit?js,console,output