/**
* 用于 mixin 表格多选
**/
export const rowSelectionMixin = {
data() {
return {
/* table选中keys*/
selectedRowKeys: [],
/* table选中records*/
selectionRows: [],
}
},
computed: {
rowSelection() {
return {
selectedRowKeys: this.selectedRowKeys,
onChange: this.onSelectChange,
getCheckboxProps: record => ({
props: {
/** 禁止选择行
* 默认不禁止任何行,如果有需要 可以通过 disabledRow 方法进行操作
* 在表格数组改变的时候,会调用此处回调,如果禁止选择条件变化,需要重新对表格数据进行赋值
* e.g: this.dataSource = [...this.dataSource]
* 改变禁止选择条件时,要先清空之前选择的数据
*/
disabled: this.disabledRow ? this.disabledRow(record) : false
}
})
}
}
},
methods: {
// 此方法不传参数默认取消选择框,但是当此方法在 组件中直接调用时,要注意加(),因为不加会默认传一个点击事件的对象过来,会报错
onSelectChange(selectedRowKeys = [], selectionRows = []) {
console.log(selectedRowKeys);
this.selectedRowKeys = selectedRowKeys;
this.selectionRows = selectionRows;
},
// 批量操作
/**
* 传入一个回调函数,此处进行默认判断空减少重复操作
* 例子: @click="batchOperation(()=>changeHeadTeacher('selectedRows',12313))"
* 加一个空方法来中转,因为 @click="batchOperation(changeHeadTeacher('selectedRows',12313))" 会将执行完的方法的返回值作为参数传进来
*/
batchOperation(callback = () => {}) {
console.log(callback);
if (this.selectedRowKeys.length > 0) callback();
else this.$message.warning("至少选择一条数据!")
}
}
}
vue + Ant Design 表格多选 mixin
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 记录个问题事情是这样的,我原本用了一个嵌套表格,想实现的是这样的 然后我就写了(只放关键代码) 结果却是这样的 然...
- 在需要进行合并单元格的列配置中,增加如下内容:rowSpan属性为该单元格所要占的行数,rowSpan的取值,使用...
- ant-design-vue table 列头跟表格内容对齐 百度到了说需要直接把表格头固定宽,试了下有效果但觉得...
- 新接手的一个项目 是基于ant-design-vue admin的开发,当需求要实现类似elementUI的合计行...
- 今天开发当中使用到的知识点。在将后端的列表数据,显示到前端的表格中时,如果要自定义一些显示网格,应该如何传参数和自...