我是正式的新手,我想根据值更改templateOptions属性, 所以下面是我的配置
formlyConfig.setType({
name: 'phone',
extends: 'maskedInput',
defaultOptions: {
templateOptions: {
mask: '999-9999-9999'
},
我要在单击按钮时将遮罩更改为“ 999-999-9999”,
我尝试在按钮的onclick上执行此操作,但没有任何改变
formlyConfig.setType({
name: 'phone',
defaultOptions:{
templateOptions: {
mask: '999-999-9999'
},
}
})
;
答案 0 :(得分:1)
我正在考虑您正在使用角形。在这里,我认为您不能随时更改配置选项。因此,要执行此操作,您必须从DOM中删除该字段,然后使用新的配置选项(例如mask)重新加载该字段。因此,您可以单击任意按钮来调用method,在其中可以重置一些布尔标志,然后更新配置选项,然后设置标志。
<button class="btn" ng-click="vm.clickFn()">click</button>
clickFn可以位于哪里:
vm.clickFn = function() {
vm.show = false;
vm.fields[0].templateOptions.mask = "999-999-9999";
$timeout(function() {
vm.show = true;
});
}
这里的超时只是让它更新标志并运行摘要周期的一小段时间。
Example 进行引用。