vxe-table 的 checkbox复选框

vxe-table 的 checkbox复选框

onSelectChange勾选方法

勾选三行

@checkbox-change 事件回调参数selected

selected.record是勾选的全部数据,selected.row是最后点击的行数据

selected.record

selected.row

saleReturnTableRef.value是什么?

vxeTableRef.value 是 vxe-table 组件的实例对象,不是普通的方法。它里面包含了很多 vxe-table 提供的方法和属性。

从代码中看到的用法

javascript 复制代码
onSelectChange: (selected) => {

    const $table = saleReturnTableRef.value;

    const records = $table.getCheckboxRecords();
    
    // ...

}

常见的 vxe-table 实例方法

方法名 作用
getCheckboxRecords() 获取所有选中的行数据(多选)
getRadioRecord() 获取单选的行数据
getCurrentRecord() 获取当前行数据
loadData(data) 加载数据
reloadData(data) 重新加载数据
refreshData() 刷新数据
clearCheckboxRow() 清空多选选中状态
setCheckboxRow(rows, checked) 设置多选选中状态
scrollToRow(row) 滚动到指定行

通俗理解

javascript 复制代码
// saleReturnTableRef 是 Vue 的 ref 对象
const saleReturnTableRef = ref(null);

// .value 才是实际的 vxe-table 组件实例
const tableInstance = saleReturnTableRef.value;

// 通过实例调用 vxe-table 提供的方法
const selectedData = tableInstance.getCheckboxRecords();

简单说:.value 是 Vue 3 ref 的"拆包"操作,拿到的是 vxe-table 组件的完整实例,里面有很多内置方法可以操作表格。

两种方式对比

方式 代码 适用场景
事件参数 selected.records 只在 @checkbox-change 事件回调中使用
实例方法 $table.getCheckboxRecords() 任何地方都能调用

实际代码中的等价写法

javascript 复制代码
// 当前写法(用实例方法)

onSelectChange: (selected) => {

const $table = saleReturnTableRef.value;

const records = $table.getCheckboxRecords();

// ...

}

// 也可以直接用 selected 参数(更简洁)

onSelectChange: (selected) => {

const records = selected.records; // 效果一样

// ...

}

什么时候必须用实例方法?

当你在事件回调外面需要获取选中行时,只能用实例方法:

javascript 复制代码
// 在其他方法中获取选中状态

const someOtherMethod = () => {

const $table = saleReturnTableRef.value;

const records = $table.getCheckboxRecords(); // ✅ 可以

// selected.records 这里拿不到,因为不在事件回调里

};

建议

onSelectChange 回调内部,两种方式效果一样,用 selected.records 更简洁:

javascript 复制代码
onSelectChange: (selected) => {

saleReturnTableConfig.selectedRows = selected.records;

saleReturnTableConfig.selectedRowKeys = selected.records.map(r => r.id);

},
相关推荐
Mr.Daozhi2 分钟前
RAG 进阶实战:跑通 Demo 后我连续翻了 6 次车,逐一修复才真正可用(含 Gradio Web 版)
前端·数据库·langchain·大模型·gradio·rag·科研工具
哆来A梦没有口袋14 分钟前
干货精讲 | 初级CSS面试高频考题
前端·css·面试
掘金011 小时前
EmbedPDF Vue 版 完整正文文档 全网首发
前端
OpenTiny社区1 小时前
操作ArkTS页面跳转及路由相关心得
前端·typescript·web·opentiny
xiaohua0708day1 小时前
Lodash库
前端·javascript·vue.js
huakoh1 小时前
Claude Code 从零到上手指南:国产工具链复现80% Agent能力,DeepSeek+LangChain实战
前端
Ankkaya1 小时前
浏览器插件接入 Google 登录
前端
Asmewill1 小时前
DeepAgents学习笔记一(构建深度多智能体)
前端
万物皆对象6661 小时前
切换路由时页面空白问题(vue3)
前端·vue.js·typescript
突然好热1 小时前
TS 调试技巧
前端·javascript·typescript