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);

},
相关推荐
东方小月3 小时前
从零开发一个 Coding Agent(四):使用状态机校验大模型事件流
前端·人工智能·后端
Csvn4 小时前
🧩 ESM vs CJS 混用的 7 个「天坑」——从 TypeScript 编译到 Node 与浏览器
前端
Csvn4 小时前
🎯 Web 性能 API 集合:Performance Observer 的 5 个冷门妙用
前端
Csvn4 小时前
深入 React 闭包陷阱:从根源上理解并根治 stale closure
前端
whyfail4 小时前
前端学 Spring Boot(8):接口为什么越用越慢?
前端·spring boot·后端
用户059540174465 小时前
LangChain 记忆测试踩坑实录:这两个坑让我排查了 4 小时
前端·css
程序员黑豆5 小时前
鸿蒙应用开发:@Monitor 装饰器使用教程
前端·harmonyos
SamChan906 小时前
在Web应用中集成PDF多语言翻译功能:PDFTranslator API实战指南
前端·python·ai·pdf·yapi·机器翻译
kyriewen6 小时前
AI Agent 9秒删光了生产数据库——我给自己的项目做了5个紧急检查
前端·ai编程·claude
IT_陈寒6 小时前
JavaScript的this又双叒叕让我怀疑人生了
前端·人工智能·后端