【问题标题】:Can't clear input view value无法清除输入视图值
【发布时间】:2017-05-15 16:02:30
【问题描述】:

我在输入字段中使用pattern="[0-9]{0,7}" 属性,如果输入的值与模式不匹配,我无法使用 angularJs 清除值。我了解角度视图/模型,并尝试了几种方法,例如

$scope.model = {};

$scope.model = null; // $scope.model = {}; $scope.myForm.$setPristine();

这是我的plnkr

有什么想法吗?

【问题讨论】:

  • 这令人费解。虽然如果您将相关代码放入问题中会很好(保留 plnkr 链接)。
  • 结帐this answer,它会清除你的概念:)

标签: javascript html angularjs


【解决方案1】:

试试:

 $scope.clear = function() {
     $scope.model.value1 = '';
 };

【讨论】:

    【解决方案2】:

    您无法清除,因为您的模式使角度验证它。如果它与模式不匹配,您的模型将不会更新,这就是为什么清除它什么都不做,因为它已经未定义。

    使用 ng-pattern,$setPristine() 将重置值,但不会触发默认浏览器验证(红色边框,输入周围的错误消息),因此您必须自己触发它。

    【讨论】:

    • 是的,我已经明白这一点,但我需要通过单击“特殊”按钮来清除表单视图。
    • 我刚刚添加了部分解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    • 2016-11-13
    • 2015-11-27
    • 1970-01-01
    • 2021-03-16
    • 2020-04-25
    • 1970-01-01
    相关资源
    最近更新 更多