Как я могу изменить значение активного состояния строки в v-data-table?
Я хочу установить для "активной" строки значения "активный" или "неактивный", независимо от того, является ли значение истинным или ложным. С моим кодом здесь я всегда получаю значение "неактивно" (я проверял условие как на истинное, так и на ложное, поэтому я предполагаю, что я не получаю никакого значения в условии). Кстати, я не могу использовать v-for в таблице данных, если это актуально. Спасибо
<v-data-table :items="locations" :headers="headers" class="elevation-1">
<template slot="item" slot-scope="row">
<tr>
<td class="text-xs-right">{{ row.item.code }}</td>
<td class="text-xs-right">{{ row.item.name }}</td>
<td class="text-xs-right">{{ row.item.descr }}</td>
<td class="text-xs-right">{{ row.item.dateFrom }}</td>
<td class="text-xs-right">{{ row.item.dateTo }}</td>
<td :class="row.item.active === true ? row.item.active='active' : row.item.active='not active'" class="text-xs-right">{{ row.item.active }}</td>
</tr>
</template>
</v-data-table>
1 ответ
Решение
Вы присваиваете значение row.item.active
поэтому активная переменная содержит 'active'
или 'not-active'
вместо того true
или false
вот почему вы всегда получаете 'not-active'
так как row.item.active === true
всегда решает false
<td :class="(row.item.active === true ? 'active' : 'not-active') + ' text-xs-right'">{{ row.item.active }}</td>
Обновленный ответ
<td class="text-xs-right">{{ row.item.active ? 'active' : 'not active' }}</td>