This is an overview of the most common usage of ListView. For more information about the available properties, methods, or events, head over to the complete API documentation for ListView.
<ListView> - визуальный комопонент, отображающий список элементов, который монжно вертикально прокручивать (скроллить). Для установки того, как будет отображаться каждый компонент, вы можете использовать <v-template>.
<ListView for="item in listOfItems" @itemTap="onItemTap">
<v-template>
<!-- Отображает список с item label с заданными по умолчанию стилями. -->
<Label :text="item.text" />
</v-template>
</ListView>

<ListView> с множеством блоков <v-template>Компонент v-template используется для определения того, как часто каждый элемент списка отображается на экране.
Если вам необходимо отобразить один или несколько элементов списка иначе, чем остальные, то вы можете вложить их в дополнительные блоки <v-template> и использовать условия. Вы можете располагать сколько угодно много блоков <v-template> в <ListView>.
<ListView for="item in listOfItems" @itemTap="onItemTap">
<v-template>
<Label :text="item.text" />
</v-template>
<v-template if="$odd">
<!-- Для элементов с нечетным индексом отображаем красный текст. -->
<Label :text="item.text" color="red" />
</v-template>
</ListView>Когда вы создаете условные конструкции для <v-template>, вы можете использовать любое корректное JavaScript-выражение или любую из следующих вспомогательных функций (helpers):
$index— индекс (index) текущего элемента$even—true, если индекс текущего элемента четный$odd—true, если индекс текущего элемента не четныйv-for<ListView> не перебирает элементы списка, как вы ожидаете, если используете v-for. Вместо этого <ListView> только создает необходимые представления для отображения текущих видимых элементов на экране и переиспользует представления, которые уже скрыты с экрана во время прокрутки. Этот концепт называется view recycling и в основном используется в мобильных приложениях для улучшения производительности.
Это важно, потмоу как вы не можете полагаться на обработчиков событий внутри v-template. Вместо этого вам необходимо использовать событие itemTap, которые содержит в себе индекс нажатого элемента и сам элемент списка.
onItemTap(event) {
console.log(event.index)
console.log(event.item)
}Примечание: если v-for используется на <ListView>, то в консоли будет выведено предупреждение и он будет преобразован в свойство for.
| Имя | Тип | Описание |
|---|---|---|
for | String | Предоставляет выражение для итерирования по элементам. Например:
|
items | Array<any> | Массив элементов, которые отображены в <ListView>.Это свойство только для продвинутого использования. Используйте вместо него свойство for. |
separatorColor | Color | Задает цвет линии разделителя. Установите его в значение transparent для удаления. |
| Имя | Описание |
|---|---|
itemTap | Срабатывает тогда, когда нажат элемент в <ListView>. Для получения доступа к нажатому элементу используйте event.item. |
| Имя | Описание |
|---|---|
refresh() | (Скоро) Заставляет <ListView> перезагрузить все его элементы. |
| Android | iOS |
|---|---|
android.widget.ListView | UITableView |