vue.js - 如何将 toggleSelectAll 功能复选框添加到由标头插槽生成的新标头
问题描述
我尝试使用插槽自定义 vuetify 数据表头。我禁用了默认标题并使用v-slot:header
. 问题是,如果我制作新标题,则没有支持 toggleSelectAll 功能的复选框。代码如下。
<template
v-slot:header="{ props: { headers } }"
>
<thead>
<tr>
<th v-for="header in headers" :key="header.value">
<v-simple-checkbox
color="purple"
v-if="header.value === 'data-table-select'"
></v-simple-checkbox>
<span v-else>{{header.text}}</span>
</th>
</tr>
</thead>
</template>
这是 Codepen 链接。 https://codepen.io/em0809/pen/gOrJGjJ
我想将 toggleSelectAll 功能添加到上面的简单复选框。我试过了v-slot:header.data-table-select
,但它不起作用。
所以,如果你有经验,请帮助我。
谢谢你。
解决方案
您可以通过 1 个步骤实现它:
- 添加
@input="on['toggle-select-all']"
到您的v-simple-checkbox
.
<template #header="{ props, on }">
<thead>
<tr>
<th v-for="header in props.headers" :key="header.value">
<v-simple-checkbox
v-if="header.value === 'data-table-select'"
v-model="props.everyItem"
:indeterminate="props.someItems && !props.everyItem"
color="purple"
@input="on['toggle-select-all']"
></v-simple-checkbox>
<span v-else>{{ header.text }}</span>
</th>
</tr>
</thead>
</template>
#header
#header.data-table-select
两者都使用时覆盖。
推荐阅读
- javascript - 从 AJAX 调用返回的 jQuery 和 $ 未在 like.js.erb 中定义
- javascript - 如何显示 componentDidMount 在另一个页面中获取数据?
- serial-port - 'System.InvalidOperationException' 发生在 System.dll 通过串口发送数据
- asp.net - 导出为 pdf 后将文件(目录)复制到剪贴板
- python - 我无法从我的代码中导入我的 json 文件 mongodb
- gradle - 如何在 gradle 中使用命令行标志禁用远程构建缓存
- c# - 在 office vsto 加载项中区分自动保存和常规保存的方法
- flask - 如何使用默认文件创建 WTForms FileField?
- elasticsearch - 使用 Kibana 中的新模式获取“数组中的对象没有得到很好的支持” Kibana
- mongodb - How to apply validation of a Model which is having a ref?