【问题标题】:Changing model binding on Angular Formly based on expressionProperty基于 expressionProperty 在 Angular Formly 上更改模型绑定
【发布时间】:2015-12-15 06:08:01
【问题描述】:

我正在使用 Angular Formly 构建表单。我需要用户输入两个电子邮件地址(工作和家庭)。但是,如果他们在工作和家庭中使用相同的地址,他们只需单击禁用工作电子邮件的复选框即可。

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

expressionProperties: {
    hide: 'model.sameEmail'   
}

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

Formly 可以做到这一点吗?

此处显示示例 plnkr:http://plnkr.co/edit/edlJaVIdo9z2j6Noyzqy?p=preview

【问题讨论】:

    标签: javascript angularjs forms angular-formly


    【解决方案1】:

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

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

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

    关于观察者的更多信息:

    【讨论】:

    • 太棒了!也感谢 plnkr。它按我的预期工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 2017-09-23
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多