【问题标题】:How to capture double-click event in md-chip, using ng-dblclick?如何使用 ng-dblclick 在 md-chip 中捕获双击事件?
【发布时间】:2017-08-30 14:49:09
【问题描述】:

我正在寻找一种方法来捕获双击事件,在 md-chip 指令中使用 ng-dblclick。

但每次我双击输入字段时,都会出现以下错误。我怀疑它不支持 ng-dblclick。

客户端代码

<md-chips ng-model="keyset3" 
          name="keyset3" 
          readonly="readonly"
          md-removable="removable"
          md-max-chips="5" 
          placeholder="Enter a Keyword..." 
          ng-dblclick="fieldDoubleClick('keyset3')">
    <md-chip-template>
        <strong>{{$chip}}</strong>
    </md-chip-template>
</md-chips>

非常感谢任何帮助。

【问题讨论】:

  • 这更有可能是因为this.items(无论该代码在哪里)不是一个数组。我们可以看到ng-repeat 以及您在哪里/如何设置那里使用的变量吗?
  • @MatthewCawley 谢谢,你解决了我的问题,实际上 fieldDoubleClick 实现直接设置了 keyset3 的值(即模型),而不是将其转换为数组。这是罪魁祸首。

标签: javascript angularjs angular-material md-chip


【解决方案1】:

较早的字段DoubleClick 实现

$scope.fieldDoubleClick = function(fieldName, type) {
    utils.setValue($scope,fieldName,utils.removeEscapeCharacters($scope.extractedData.text));                                 
}

新字段DoubleClick Imp

$scope.fieldDoubleClick = function(fieldName, type) {


          if(type=="chip") {
              var arr = [];
              arr.push(utils.removeEscapeCharacters($scope.extractedData.text));
              utils.setValue($scope, fieldName, arr);
          } else {
              utils.setValue($scope, fieldName, utils.removeEscapeCharacters($scope.extractedData.text));                 
          }

      }

解决方案 - 芯片的模型需要是一个数组。 (提供者——马修·考利)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 2011-01-06
    • 2011-07-02
    • 2017-10-01
    • 2019-12-14
    相关资源
    最近更新 更多