以下是操作顺序的屏幕截图:
- 选项显示并单击
醇>
- 值经历了
醇>
- 即将点击相同的选项。
醇>
- 问题在这里,选项现已消失。
醇>
- 但是当添加选项时,
醇>
即使没有显示该值,它仍然可以很好地进行。
我有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] = '';
}
}