我有这样的事情:
HTML
<select ng-model="dataValidatorNewResource.name"
ng-options="dv.name for dv in dataValidators | filter:filterDataValidator">
</select>
我想知道当过滤器根本没有返回任何选项时如何禁用整个选择。
我试过了:
JS
$scope.enableAddDataValidatorForm = true;
$scope.filterDataValidator = function(v) {
var found = false;
// Do the filtering stuff...
$scope.enableAddDataValidatorForm = !found;
return !found;
}
然后向ng-disabled="!enableAddDataValidatorForm"
添加<select>
,但效果不佳。此外,过滤器经常被调用,我想知道是否有更直接的方式来做我想要的。
答案 0 :(得分:1)
当过滤器根本没有返回任何选项时,您想要禁用select
。所以就这样做吧!
<select
ng-model="dataValidatorNewResource.name"
ng-options="dv.name for dv in dataValidators | filter:filterDataValidator"
ng-disabled="(dataValidators | filter:filterDataValidator).length === 0"
>
</select>