基于 expressionProperty Formly 更改 Angular 上的模型绑定
Changing model binding on Angular Formly based on expressionProperty
我正在使用 Angular Formly 来构建表单。我需要用户输入两个电子邮件地址(工作和家庭)。但是,如果他们使用相同的工作地址和家庭地址,他们只需单击一个复选框即可禁用工作电子邮件。
我已经成功地使用 Formly 表达式隐藏了基于复选框的输入框。
expressionProperties: {
hide: 'model.sameEmail'
}
我想做的是将隐藏的电子邮件字段的模型设置为显示的模型(它也应该保持更新)。
Formly 可以吗?
示例 plnkr 显示如下:http://plnkr.co/edit/edlJaVIdo9z2j6Noyzqy?p=preview
您可以在复选框中使用观察者来更新模型:
watcher: {
listener: function(field, newValue, oldValue, scope, stopWatching) {
if (newValue) {
scope.model.workEmail = scope.model.email;
}
}
}
示例:http://plnkr.co/edit/TgCUfNCB4HhdUP7z93l1?p=preview
有关观察者的更多信息:
我正在使用 Angular Formly 来构建表单。我需要用户输入两个电子邮件地址(工作和家庭)。但是,如果他们使用相同的工作地址和家庭地址,他们只需单击一个复选框即可禁用工作电子邮件。
我已经成功地使用 Formly 表达式隐藏了基于复选框的输入框。
expressionProperties: {
hide: 'model.sameEmail'
}
我想做的是将隐藏的电子邮件字段的模型设置为显示的模型(它也应该保持更新)。
Formly 可以吗?
示例 plnkr 显示如下:http://plnkr.co/edit/edlJaVIdo9z2j6Noyzqy?p=preview
您可以在复选框中使用观察者来更新模型:
watcher: {
listener: function(field, newValue, oldValue, scope, stopWatching) {
if (newValue) {
scope.model.workEmail = scope.model.email;
}
}
}
示例:http://plnkr.co/edit/TgCUfNCB4HhdUP7z93l1?p=preview
有关观察者的更多信息: