制作一个每列有一个模板的网格组件。
父母:
<v-gridview row-key="ID" :data="bills.rows" sortable-col style="width:100%;">
<template v-slot:empty>No records found.</template>
<template v-slot:column="{row}" style="text-align:right;">{{row.InvoiceDate}}</template>
<template v-slot:column="{row}">{{row.InvoiceNo}}</template>
<template v-slot:column="{row}">{{row.Amount}}</template>
<template v-slot:column="{row}">{{row.LdgrPayTransNum}}</template>
</v-gridview>
组件:
<template id="vt-gridview">
<table class="GridView">
<tr v-for="row in data">
<td v-for="colTemp in $slots.column" v-bind="colTemp.$attrs">
<slot name="column" :row="row"></slot>
</td>
</tr>
</table>
</template>
传递给组件的'bills.rows'是一个行对象数组,其中每一行都有每一列的名称/值对。
因此没有模板列呈现。当我检查vm。$ slots时,数组中只有一个名为“ column”的插槽,而不是四个。这是最后定义的。
此外,如何将第一列模板中给出的样式属性应用于组件中每一行的相应TD?