我在输入字段中使用pattern="[0-9]{0,7}"
属性,如果输入的值不匹配,则无法使用angularJs清除值。我知道角度的视图/模型,并尝试了几种方式,如
$scope.model = {};
或
$scope.model = null;
// $scope.model = {};
$scope.myForm.$setPristine();
这是我的plnkr
有什么想法吗?
答案 0 :(得分:0)
尝试:
$scope.clear = function() {
$scope.model.value1 = '';
};
答案 1 :(得分:0)
您无法清除,因为您的模式会对其进行角度验证。如果它与模式不匹配,那么您的模型将不会更新,这就是为什么清除它之后什么也不做,因为它已经未定义。
使用ng-pattern,$ setPristine()将重置该值但不会触发默认的浏览器验证(红色边框,输入周围的错误消息),因此您必须自己触发它。