md-select在第二次选择时消失

时间:2017-08-08 02:57:55

标签: javascript angularjs

以下是操作顺序的屏幕截图:

  
      
  1. 选项显示并单击
  2.   

1

  
      
  1. 值经历了
  2.   

2

  
      
  1. 即将点击相同的选项。
  2.   

3

  
      
  1. 问题在这里,选项现已消失。
  2.   

4

  
      
  1. 但是当添加选项时,
  2.   

5

  

即使没有显示该值,它仍然可以很好地进行。

6

我有md-select哪个用添加按钮

<md-card-content >
<div layout="row" class="md-padding" ng-cloak>
    <md-input-container style="margin-right: 10px;">
        <label>CMD</label>
        <md-select style="min-width: 200px;" ng-model="selectedCmd" >
            <md-option ng-repeat="(x, y) in cmds" ng-value="y">
                {{y.cmd}}
            </md-option>
        </md-select>
    </md-input-container>

    <md-input-container ng-repeat="(key, value) in selectedCmd" ng-if="$index > 0">
        <label >{{key}}</label>
        <input type="text" ng-model="selectedCmd[key]">
    </md-input-container>

    <md-input-container>
        <md-button class="md-primary md-raised" ng-click="addRow(selectedCmd)" ng-if="selectedCmd"> ADD </md-button>
    </md-input-container>

</div>
</md-card-content>

并且在脚本中我有这个函数作为添加按钮被点击。

$scope.rows = [];
var temp = {};

$scope.addRow = function(selectedCmd) {
    $scope.temp = angular.copy(selectedCmd);
    $scope.temp.cmd = $scope.temp.cmd.match(/\d+/)[0]; //only gets the number infront
    $scope.rows.push($scope.temp);

    for (var key in selectedCmd) {
        if (key !== 'cmd') {
            selectedCmd[key] = "";
        }
    }
}

我发现在执行上面的for loop之后,在第一次选择之后选择的选项不可见。该选项仍然可以单击,但只有标签在单击时显示两次。我该怎样阻止这个?

编辑:这有效。所以chekcing keyName !== 'cmd'导致问题,但我不知道如何以及为什么。

for ( var keyName in selectedCmd) {
    if (keyName === 'Imageurl'
        || keyName === 'Threshold'
    ) {
        selectedCmd[keyName] = '';
    }
}

0 个答案:

没有答案