我正在使用md-chips指令来生成chips.However,我希望有条件地禁用某些芯片,同时保持其他芯片可编辑。但根据文档,我们可以禁用所有芯片,也可以不禁用。
<md-chips ng-model="FruitNames" name="fruitName" readonly="$chip.notEditable == 'true'" md-max-chips="5">
<md-chip-template>
<strong>{{$chip}}</strong>
<em>(fruit)</em>
</md-chip-template>
</md-chips>有没有办法让芯片有条件地可编辑/不可编辑?
发布于 2017-01-17 14:01:11
您可以使用md-chip-remove指令添加您自己的移除芯片按钮,并在芯片级上设置禁用条件。如下例所示:
<md-chips ng-model="FruitNames" name="fruitName" md-max-chips="5" md-on-remove="onRemovedChip($chip)">
<button
ng-if="!$chip.notEditable"
class="md-chip-remove ng-scope"
md-chip-remove
type="button"
aria-hidden="true" tabindex="-1">
<md-icon md-svg-icon="md-close"></md-icon>
<span class="md-visually-hidden ng-binding">Remove</span>
</button>
<md-chip-template>
<strong>{{$chip}}</strong>
<em>(fruit)</em>
</md-chip-template>
</md-chips>
为了禁止使用backspace删除标签,您还应该将此方法添加到您的控制器:
$scope.onRemovedChip = function(chip) {
if (chip.notEditable) {
$scope.FruitNames.push(chip);
}
};
https://stackoverflow.com/questions/37942653
复制相似问题