那么这个方法用vue3的写法该怎么写
时间: 2024-10-03 07:04:33 浏览: 25
vue3-vite-ts:学习vue3的新属性的同时,尝试ts的写法
5星 · 资源好评率100%
在 Vue3 中,由于不再有单文件组件的语法糖,你可以将类似的功能拆分成两个部分:一个计算属性和一个自定义事件处理器。假设我们有一个数据属性 `selectedIds` 来存储选中的行ID:
```typescript
// 定义一个计算属性获取选中项的ID
export default {
computed: {
selectedIds() {
return this.tableData.map(item => item.id).filter(Boolean);
},
},
}
// 在模板中绑定事件处理函数
<template>
<el-table
v-if="tableData.length"
:data="tableData"
:track-by="$index"
:selection="selectedIds"
stripe
class="tableBox"
@selection-change="onSelectionChange"
></el-table>
</template>
<script setup>
import { onMounted, ref } from 'vue';
const tableData = ref([]);
function onSelectionChange(selectedRows) {
const ids = selectedRows.map(row => row.id);
// 更新其他需要这部分信息的地方...
}
</script>
```
在这里,`:selection="selectedIds"`绑定了计算属性 `selectedIds`,并在 `@selection-change` 事件中,我们通过 `onSelectionChange` 函数处理用户的选择更改,`selectedRows` 参数包含当前选中的行对象。
阅读全文