【问题标题】:Angular form to pristine when for is in original state当 for 处于原始状态时,角度形式为原始状态
【发布时间】:2017-01-31 15:51:08
【问题描述】:

我有一个表单,其中包含范围内对象的预设值。当我修改表单字段,例如名称字段并将其从 Bob 更改为 Bobby 时,表单现在是 dirty 但如果我从名称末尾删除“y”和“b”,表单现在在它的原始状态,但它仍然是dirty。当表单与开始时相同时,如何让它返回到pristine?我将原始状态保存在范围内,以便可以比较它们,但我没有将如何实现这一点的点连在一起。

这是一个示例,显示了我上面描述的相同行为:

http://www.angularjshub.com/examples/forms/formreset/

【问题讨论】:

    标签: angularjs forms angularjs-scope 2-way-object-databinding


    【解决方案1】:

    在您的控制器中尝试类似下面的操作,然后使用 ng-change 调用该函数。

    $scope.resetWhenUnchanged = function()
    {
        if (original === $scope.modifiedValue) {
            $scope.personForm.field.$setPristine();
        }
    };
    

    【讨论】:

    • 这似乎可行,但我猜当您将表单设置为原始时,它会提交表单,这是一种不受欢迎的效果。
    猜你喜欢
    • 2018-02-06
    • 1970-01-01
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    相关资源
    最近更新 更多