el-transfer简易实现

1、代码实现

此处注意,generateData和return都是写在data中的,因为return是基于上面的generateData来获取的数据。

且需要注意,generateData的结束括号是以;来结尾,不是逗号。

2、实现结果

 

 

 

### 将 el-transfer 数据绑定至 el-table 为了实现`el-transfer`组件的数据能够被成功传递并显示在`el-table`中,可以创建一个Vue实例,在其中定义两个属性用于存储来自`el-transfer`的选择项以及表格所需展示的内容。当用户通过`el-transfer`选择了特定项目之后,这些项目的键值会被保存在一个数组里;随后可以通过监听这个模型的变化来更新另一个用来渲染表格的列表。 #### HTML模板部分 ```html <template> <div> <!-- 使用el-transfer进行数据选择 --> <el-transfer v-model="selectedItems" :data="allOptions"></el-transfer> <!-- 展示选中项的el-table --> <el-table :data="tableData"> <el-table-column prop="key" label="编号"></el-table-column> <el-table-column prop="label" label="名称"></el-table-column> </el-table> </div> </template> ``` #### JavaScript逻辑处理 ```javascript <script> export default { data() { const generateData = () => { let data = []; for (let i = 1; i <= 15; i++) { data.push({ key: i, label: `备选项 ${i}`, disabled: i % 4 === 0 }); } return data; }; return { allOptions: generateData(), selectedItems: [], tableData: [] }; }, watch: { // 当selectedItems发生变化时触发此函数 selectedItems(newValue) { this.updateTableData(newValue); } }, methods: { updateTableData(keys) { this.tableData = keys.map(key => this.allOptions.find(option => option.key === key) ); } } }; </script> ``` 上述代码实现了从`el-transfer`向`el-table`传输数据的功能[^2]。每当`v-model`所关联的对象发生改变——即有新的条目被加入或移除自转移区域之时,便会自动调用`updateTableData()`方法刷新表格视图,从而确保两者之间的一致性和同步性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值