【发布时间】:2020-03-03 03:56:27
【问题描述】:
我正在尝试为数据对象中的多个项目创建一个重复的模板。但是,根据 Quasar 的说法,我需要一个针对表格行的 v-slot 属性,并且我已经对这些行进行了编号以帮助我实现这一目标。问题是,我需要动态读取那个 v-slot。我很难解释这一点,所以让我告诉你:
Quasar 表语法如下所示:
<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 等...?
【问题讨论】:
-
试试
v-slot:[`body-cell-${index}`]="props"