淘先锋技术网

首页 1 2 3 4 5 6 7

Vue Transfer 组件是一个用于从一个列表中移动数据到另一个列表的交互组件。它可以用来创建类似“可选项”和“已选项”的界面,以方便用户进行选择。

vue transfer

使用 Vue Transfer 组件,需要在 Vue 实例中引入它,同时传入两个数组,一个作为左侧列表的数据,一个作为右侧列表的数据:


<template>
  <transfer :data="list" :targetkeys="targetkeys" :titles="['Source', 'Target']"></transfer>
</template>

<script>
import transfer from 'compnents/transfer';

export default {
  data() {
    return {
      targetkeys: [],
      list:[
        {
          key: '1',
          label: '选项一'
        },
        {
          key: '2',
          label: '选项二'
        },
        {
          key: '3',
          label: '选项三'
        },
        {
          key: '4',
          label: '选项四'
        },
        {
          key: '5',
          label: '选项五'
        }
      ]
    };
  },
  components: {
    transfer
  }
};
</script>

上面的代码中,我们引入了 Vue Transfer 组件,并将 list 数组作为左侧列表的数据传入组件。targetkeys 数组用于存储右侧列表选中的数据。

在实际应用中,我们需要在用户移动数据时返回选中的数据,此时可以使用 transfer-selected 事件监听用户选择操作:


<template>
  <transfer :data="list" :targetkeys="targetkeys" :titles="['Source', 'Target']" @transfer-selected="onSelected"></transfer>
</template>

<script>
import transfer from 'components/transfer';

export default {
  data() {
    return {
      targetkeys: [],
      list:[
        {
          key: '1',
          label: '选项一'
        },
        {
          key: '2',
          label: '选项二'
        },
        {
          key: '3',
          label: '选项三'
        },
        {
          key: '4',
          label: '选项四'
        },
        {
          key: '5',
          label: '选项五'
        }
      ]
    };
  },
  components: {
    transfer
  },
  methods: {
    onSelected(key, direction, movedKeys) {
      console.log(key, direction, movedKeys);
    }
  }
};
</script>

在上面的代码中,我们定义了一个名为 onSelected 的方法,用于在 transfer-selected 事件触发时打印出选中的数据。

Vue Transfer 组件拥有众多的配置参数,可以通过官方文档来深入了解。使用 Vue Transfer 组件,可以大大简化前端开发中选择数据的交互操作,提高用户体验。