0

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

这里是我展示上面描述的相同行为的一个例子:

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

回答

0

尝试在你的控制器类似下面,然后用NG-变化调用的函数。

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

这似乎工作,但我想当你设置一个表单,原始提交表单是一个不良影响。 –