如何自定义v-data-table中的所有headers?
How to custom all headers in v-data-table?
我正在尝试像这样自定义 v-data-table
中的所有 header
<v-data-table
:headers="headers"
:items="desserts"
:disable-sort="true"
:hide-default-footer="true"
>
<template v-slot:header="{ header }">
{{ header.text.toUpperCase() }}
</template>
</v-data-table>
我在文档中看到如何只对一个 header 这样做:
<v-data-table
:headers="headers"
:items="desserts"
:disable-sort="true"
:hide-default-footer="true"
>
<template v-slot:header.name="{ header }">
{{ header.text.toUpperCase() }}
</template>
</v-data-table>
但我想自定义所有 header,但我不知道如何执行此操作。我的 header 也是动态的。
您可以使用 header
(而不是 header.<name>
)插槽来完成。请注意,此插槽用于一次生成所有 header 列。这意味着您需要使用 v-for
指令动态创建 <th>
标签。
此外,它位于默认 headers 下,因此您需要添加 hide-default-header
属性。
<v-data-table :headers="headers" :items="desserts" hide-default-header>
<template v-slot:header="{ props }">
<thead>
<tr>
<th v-for="header in props.headers" :key="header.text">
{{ header.text.toUpperCase() }}
</th>
</tr>
</thead>
</template>
</v-data-table>
看到这个 working example。
我正在尝试像这样自定义 v-data-table
中的所有 header
<v-data-table
:headers="headers"
:items="desserts"
:disable-sort="true"
:hide-default-footer="true"
>
<template v-slot:header="{ header }">
{{ header.text.toUpperCase() }}
</template>
</v-data-table>
我在文档中看到如何只对一个 header 这样做:
<v-data-table
:headers="headers"
:items="desserts"
:disable-sort="true"
:hide-default-footer="true"
>
<template v-slot:header.name="{ header }">
{{ header.text.toUpperCase() }}
</template>
</v-data-table>
但我想自定义所有 header,但我不知道如何执行此操作。我的 header 也是动态的。
您可以使用 header
(而不是 header.<name>
)插槽来完成。请注意,此插槽用于一次生成所有 header 列。这意味着您需要使用 v-for
指令动态创建 <th>
标签。
此外,它位于默认 headers 下,因此您需要添加 hide-default-header
属性。
<v-data-table :headers="headers" :items="desserts" hide-default-header>
<template v-slot:header="{ props }">
<thead>
<tr>
<th v-for="header in props.headers" :key="header.text">
{{ header.text.toUpperCase() }}
</th>
</tr>
</thead>
</template>
</v-data-table>
看到这个 working example。