AngularJS - 隐藏<选择>元素,如果ng-option为空

AngularJS - hide <select> element if ng-option is empty

本文关键字:为空 如果 元素 ng-option 选择 隐藏 AngularJS      更新时间:2023-09-26

如果使用过滤器后ng-options变量为空,是否可以隐藏<select>元素?

<select class="form-control" 
        ng-model="selected" 
        ng-options="property.pstSnr.description for property in leistobToProperties | filter: {grouping:1}">
</select>

如果 property.pstSnr.description 的所有选项都为空,则 <select> 元素不应可见。

谢谢。

您可以定义过滤列表,然后在ng-show中使用它:

<select class="form-control" 
        ng-show="filteredSet" 
        ng-model="selected"
        ng-options="property.pstSnr.description for property in filteredSet = (leistobToProperties | filter: filtering)">
</select>

JS小提琴

也许

<select class="form-control" ng-model="selected" ng-show="filtered.pstSnr.description.length > 0" ng-options="property.pstSnr.description for property in filtered = (leistobToProperties | filter: {grouping:1})"></select>

如果没有选项,我也隐藏了一个选择

<select id="categorylist" focus-on="focusMe" ng-change="UpdateDowntimeEvent()" class="col-md-11" name="CategoryId" ng-model="Model.CurrentDowntime.CategoryId" ng-options="downtimeCategory.CategoryId as downtimeCategory.CategoryName group by downtimeCategory.Node  for downtimeCategory in Model.DowntimeCategories" required="" ng-hide="Model.DowntimeCategories ==0" >

你可以试试这个

<select class="form-control" ng-model="selected" ng-options="property.pstSnr.description for property in leistobToProperties | filter: {grouping:1}" ng-hide=" property.leistobToProperties == 0"></select>