关于el-transfer右侧数据显示的问题

问题提出

近期做项目需要使用穿梭框,就高高兴兴地开始贴代码。把从后台取过来的数据放在穿梭框左侧,用props对属性进行重命名

presetProps:{
        key:'presetCode',  //value
        label:"presetName", //name
      },

在给右侧添加数据时,数据是可以进去,但是左侧框依然存在相同数据。百度了很久都没找到相似问题,是我太蠢了咩~
在这里插入图片描述

问题解决

在不使用后台数据的情况下,发现左右框是能正常显示的。重新看了一下从后台取到的value,是字符串数组,类似于value:['1','2','3'],在使用arr.map(Number)把数组转换成了value:[1,2,3]之后,穿梭框可以正常显示了在这里插入图片描述
暗自鼓掌,不愧是我!

el-transfer组件是Element UI库中的一个功能,它允许用户在两个数据源之间进行拖放操作,常用于列表之间的数据交换或者展示类似拖拽排序的功能。右侧数据拖拽排序主要是指用户可以从右侧数据区域选择一项元素并将其拖放到左侧的目标区域,通过这种方式对右侧数据项进行实时排序。 在`el-transfer`中,要实现右侧数据的拖拽排序,一般需要配合Vue.js的事件监听(如`dragstart`, `dragover`, `drop`等)以及`v-model`双向绑定。首先,在数据源上维护一个数组表示当前状态;然后,在拖放开始时保存源位置信息,拖动过程中更新目标位置,并在释放鼠标时处理最终的排序更新。 以下是基本步骤: 1. 初始化`el-transfer`组件,设置`data-source`和`target-list`属性。 2. 添加`on-change`事件处理器,当数据交换发生时更新数据源。 3. 为`draggable`元素添加`dragstart`和`dragover`事件,记录源位置和检测是否允许放置。 4. 当`drop`事件触发时,根据目标位置调整数据源的顺序。 ```html <template> <el-transfer :data-source="sourceData" :target-list="targetList" :move-method="handleMove" @change="handleChange" drag-over-class="draggable-over" :filter-option="filterOption" ></el-transfer> </template> <script> export default { data() { return { sourceData, targetList, // 可能需要的数据存储和排序规则 }; }, methods: { handleMove(source, target) { // 根据源和目标操作数据 }, handleChange(newTargetKeys) { // 更新源数据 }, filterOption(item) { // 数据过滤逻辑 } } }; </script> ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值