Итак, я обновился с vuetify 1.5 до последней версии (2.1xx) и застрял в нескольких местах. У меня есть таблица данных, в которой я хочу установить флажок "выбрать все" в заголовке. Я добавил его с помощью свойства «show-select», и я вижу, что, когда флажок установлен, фактически помещает все элементы в «выбранную» v-модель.
Моя проблема в том, что я хочу иметь шаблон для элементов-реквизитов, чтобы настроить внешний вид строк, и флажок, который я привязываю к «props.selected», похоже, не работает. Если я устанавливаю какой-либо флажок в любой строке, элемент не добавляется в мою "выбранную" v-модель.
только если я вообще не использую шаблон, я заставляю его работать с автоматически сгенерированными флажками, но этого недостаточно для моих текущих требований. В vuetify 1.5 у меня это заработало, но я не понимаю, как заставить его работать в новой версии.
<template>
<div>
<v-data-table
hide-default-footer
v-model="selected"
:sort-desc.sync="sortDescending"
:sort-by.sync="sortBy"
:headers="headers"
:items="cases"
item-key="id"
show-select
:items-per-page="itemsPerPage"
class="elevation-0">
<template v-slot:item="props">
<tr>
<td>
<v-checkbox v-model="props.selected" color="nordnetBlue" hide-details ></v-checkbox>
</td>
<td class="navigation-link" @click="goToCase(props.item)">{{ concatText( props.item.subject, 20) }}</td>
<td>{{ props.item.createdOn }}</td>
<td>{{ props.item.source }}</td>
<td>{{ !props.item.isSameQueue ? props.item.queueName : '' }}</td>
</tr>
</template>
</v-data-table>
<pre class="green--text">{{selected}}</pre>
</div>
</template>
1 ответ
Я не мог решить эту проблему, поэтому я следовал примеру документации vuetify о том, как настроить слот для каждого конкретного столбца.
Так и в моем случае, как видите. в трех столбцах я просто отображаю текст как есть, а в двух из них я делаю некоторые изменения. Итак, я использовал шаблон для двух, которые хотел отредактировать.
Примере:
template v-slot:item.Name="{ item }">
{{ item.Name }}
<v-tooltip bottom>
<template v-slot:activator="{on}">
<v-icon @click="openCustomer(item.Id)" class="clickable" small color="nordnetBlue" v-on="on">launch</v-icon>
</template>
Open in new window
</v-tooltip>
</template>
Похожие вопросы
Новые вопросы
vuetify.js
Vuetify.js — это платформа с открытым исходным кодом для создания пользовательских интерфейсов для Vue.js 2 и 3. Используйте этот тег для вопросов, касающихся компонентов и API Vuetify. (Если возможно, предоставьте элемент CodePen или JsFiddle, воспроизводящий вашу проблему.)