请教一个穿梭框的经典问题:
穿梭框左右两边是绑定的,那我现在想左边数据源切换而右边不变,有没有什么办法?
【以下回答由 GPT 生成】
要实现只改变左边的数据源而保持右边不变,可以通过监听左边数据源的变化,并将变化后的数据重新赋值给右边的数据源。
以下是具体实现步骤:
data
选项中定义左边和右边的数据源数组,并初始化它们。data() {
return {
leftData: [], // 左边数据源
rightData: [], // 右边数据源
// 其他数据...
}
},
mounted
声明周期钩子中,将右边的数据源初始化为左边数据源的一个拷贝。mounted() {
this.rightData = [...this.leftData];
},
watch: {
leftData(newVal) {
this.rightData = [...newVal];
},
},
<template>
<div>
<transfer
:data="leftData"
:target-keys="rightData"
@change="handleChange"
></transfer>
</div>
</template>
其中,@change
事件可以监听穿梭框组件的变化,可根据需要进行相应的处理。
至此,通过以上步骤,就可以实现只改变左边数据源而保持右边不变的需求。
请注意,上述代码仅提供了一个解决方案的框架,具体代码的实现需要根据你使用的Vue.js版本、UI组件库和业务逻辑进行调整。
【相关推荐】