Я пытаюсь создать шаблон, который повторяется для стольких элементов в объекте данных. Однако, согласно Квазару, мне нужно свойство v-slot, предназначенное для строки таблицы, и я оцифровал строки, чтобы помочь мне достичь этого. Проблема в том, что мне нужно прочитать этот v-слот динамически. Мне трудно объяснить это, поэтому позвольте мне показать вам:
Синтаксис таблицы квазаров выглядит следующим образом:
<q-table :data="allLockbox" :columns="columns" row-key="name">
<template v-slot:body-cell-1="props">
<q-td :props="props">
<p>
This is row 1
</p>
</q-td>
</template>
<template v-slot:body-cell-2="props">
<q-td :props="props">
<p>
This is row 2
</p>
</q-td>
</template>
<template v-slot:body-cell-3="props">
<q-td :props="props">
<p>
This is row 3
</p>
</q-td>
</template>
... ... ...
<template v-slot:body-cell-nth="props">
<q-td :props="props">
<p>
This is row nth
</p>
</q-td>
</template>
</q-table>
Данные имеют массив с таким количеством строк, сколько можетбыть, например:
worktransfers: ["1", "2", "3", "4", "5", "6", "7"]
В идеале, я хотел бы запустить v-for для циклического перемещения по массиву и создания 7 шаблонов в этом случае. Документация VueJS позволяет использовать v-for в шаблонах без ключа (что также создает ошибку в цикле, но пока что). Моя проблема ... Как я могу сделать v-slot cell name
динамическим, чтобы он отображал имя ячейки в соответствии с индексом цикла? ... Я пробовал это:
<template v-for="(worktransfer, index) in worktransfers" v-slot:body-cell-{{index}}="props">
, а также строковый литерал
<template v-for="(worktransfer, index) in worktransfers" `v-slot:body-cell-${{index}}`="props">
Ни то, ни другое не работает. Как мне сделать это имя ячейки динамическим для данных, чтобы оно зацикливало шаблон как body-cell-1, body-cell-2, body-cell-3 и т. Д ...?