在隐藏时清除字段组的字段

Clearing fieldGroup's fields when hidden

本文关键字:字段 清除 隐藏      更新时间:2023-09-26

hideExpression隐藏所有字段时,我需要清除所有字段,现在我有一些代码可以为字段添加观察程序,如果它们被隐藏,则清除它们。

问题是这不适用于在带有fieldGroup的字段上使用的hideExpression,因为它通常不允许将观察者添加到该类型中。

我的例子可能会更好地解释这个问题:http://jsbin.com/fodijeziyu/1/edit?js,output

如果填写值并单击隐藏复选框,它们应清除隐藏字段上的模型/视图。

一般来说,在

角度上,我会考虑不同的做事方式,这样我就不会使用观察者。它大大降低了性能(是的,有时可能意味着使用jQuery)。

现在,对于角度形式,一种做你想做的事情的方法是使用一个函数来hideExpression并实现你想要的。

这是一个工作示例。

另请阅读官方角度形式文档中的此链接。

网站上有一个例子:http://angular-formly.com/#/example/very-advanced/remove-property-on-hide

您可以将带有真实标志的手表与 hideExpression 结合使用:

$scope.$watch('someMiscForm', function() {
    console.log('The model has changed!');
}, true);

然后更改/重置您感兴趣的字段。