Как я могу изменить значение активного состояния строки в 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>
Другие вопросы по тегам