如果过滤子元素,Angularjs会制作隐形手风琴

时间:2015-05-22 14:25:01

标签: angularjs filter accordion visibility ng-repeat

我用角度动态创建了一个手风琴。

代码:

<input type="text" class="form-control pull-left" ng-model="searchSingoloCampo.title">

<accordion-group ng-repeat="category in categories">

    <li ng-repeat="resource in category.resources | filter:searchSingoloCampo">

    </li>
</accordion-group>

手风琴是由一个列表生成的,每个手风琴里面都有一个元素子列表。 我可以使用简单的角度过滤器过滤手风琴内的元素,但是当元素的子列表被过滤器完全“过滤”时,我无法处理初级手风琴的可见性。

任何帮助?

谢谢

2 个答案:

答案 0 :(得分:1)

感谢您的解决方案!

这是我如何处理它:

<accordion-group ng-repeat="category in categories" ng-show="(category.resources | filter:searchSingoloCampo).length>0">

通过这种方式,我可以在过滤元素子集时处理“主”手风琴的可见性!

非常感谢

答案 1 :(得分:0)

一种方法是引入另一个存储过滤数组内容的变量。当此数组的大小为0时,您可以关闭手风琴。这些方面的东西:

<accordion-group ng-repeat="category in categories" close-accodrion="filteredResources.length">
    <li ng-repeat="resource in filteredResources = (category.resources | filter:searchSingoloCampo)">
    </li>
</accordion-group>

我制作了&#34;近距离手风琴&#34;属性,不确定您实际关闭accordion-group的方式。这假设您可以使用类似filteredResources.length的布尔表达式打开/关闭它。也许你只想用ng-showng-hide来隐藏它......同样的方法也可行。