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

},
相关推荐
康小汪8 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
智能运维指南8 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
白山编程大哥10 小时前
Java 后端如何优雅地把 List 集合返回给前端
java·前端·list
Flynt11 小时前
我把热榜那篇"禁用 axios"逐条实测了一遍:结论大体对,坑在它没讲的地方
前端·javascript·axios
Csvn11 小时前
bundle优化
前端
北冥有鱼12 小时前
发版后动态路由点击报 `Failed to fetch dynamically imported module`」问题上的完整排查与修复过程
前端·vue.js
静默回滚12 小时前
视频压到 25 MB 以内,码率要算、音轨要扣、余量要留
前端
用户372037492601812 小时前
把 10MB 中文语义模型塞进浏览器:STSB 做到教师模型的 93%,但线上 top1 只有 42%
前端
光锥智能12 小时前
海康机器人举行2026移动机器人新品发布会:箱式存拣升级,「明智」系列发布
java·前端·机器人
计算机魔术师12 小时前
Anthropic 上市文件最吓人的一幕,不是亏损 807 亿
前端