2015-12-15 107 views
2

我正在使用Angular Formly来构建表单。我需要用户输入两个电子邮件地址(工作和家庭)。但是,如果他们在工作和家庭中使用相同的地址,他们只需点击一个禁用工作电子邮件的复选框即可。根据表情改变模型绑定的角度FormlyProperty

我设法隐藏基于复选框使用Formly表达式的输入框。

expressionProperties: { 
    hide: 'model.sameEmail' 
} 

我想要做的就是将隐藏的电子邮件字段的模型设置为显示的模型(它应该保持更新)。

Formly有可能吗?

样品plnkr如下所示:http://plnkr.co/edit/edlJaVIdo9z2j6Noyzqy?p=preview

回答

1

您可以在复选框中使用观察者更新模型:

watcher: { 
    listener: function(field, newValue, oldValue, scope, stopWatching) { 
    if (newValue) { 
     scope.model.workEmail = scope.model.email; 
    } 
    } 
} 

例子:http://plnkr.co/edit/TgCUfNCB4HhdUP7z93l1?p=preview

上观察家

铁道部信息:

+0

太棒了!感谢plnkr。它按我的预期工作。 – nipuna777