Есть ли функция или метод для реализации элемента списка, который при нажатии расширяется?
Элемент списка пользовательского интерфейса Onsen с расширяемой функциональностью
Ответы (1)
Не уверен, что вы уже нашли решение.
Сегодня я искал что-то подобное, но смог составить расширяемый список, просто используя angular ng-show и область видимости.
Я не уверен, используете ли вы Angular, но я все равно сделал для вас пример.
Вы привязываете ng-show к переменной в области (в моем примере я присвоил JSON переменной области, а ng-show привязан к «расширению»):
listScope.items = [{heading:'heading for item 1',details:'some details about this item', expand: false},
{heading:'heading for item 2',details:'some other details about this item',expand: false},
{heading:'heading for item 3',details:'im getting over typing out details for items now',expand: false];
Затем в моем html у меня есть ng-repeat, перебирающий элементы:
<ons-list ng-repeat='item in listScope.items'>
<ons-list-item ng-click="listScope.toggleExpandList(item)">
<h3>{{item.heading}}</h3>
<div ng-show="item.expand">
{{item.details}}
</div>
</ons-list-item>
</ons-list>
У меня есть функция в области под названием toggleExpandList(item), которая переключает значения расширения для этого конкретного элемента, который был нажат:
listScope.toggleExpandList = function(item){
item.expand = !item.expand; //toggle between true and false
}
Затем магия ng-show обрабатывает div.
См. полный пример: http://codepen.io/mloughton/pen/jbWYpK?editors=101
Надеюсь, это поможет.
person
Matt
schedule
15.09.2015