【区分vue2和vue3下的element UI Transfer 穿梭框组件,分别详细介绍属性,事件,方法如何使用,并举例】

Element UI 是为 Vue 2 设计的,而 Element Plus 是 Element UI 的 Vue 3 版本。在这两个版本中,Transfer 穿梭框组件(如果有的话)的 API 和使用方式可能会有所不同。以下是根据我对这两个版本组件的了解,对 Vue 2 的 Element UI 和 Vue 3 的 Element Plus 中的 Transfer 穿梭框组件的属性、事件和方法的区分介绍。

Vue 2 + Element UI

在 Element UI 中,Transfer 穿梭框组件允许用户通过两列列表来移动选项,通常用于分类选择或数据筛选。

属性 (Attributes)
  • data: 穿梭框的数据源,格式为数组,每个元素是一个对象,至少包含 keylabeldisabled 等字段
  • titles: 列表标题的数组,长度应为 2
  • filterable: 是否可搜索
  • filter-method: 自定义搜索方法
  • props: 配置选项,用于指定 data 数组中每个元素的哪个字段作为选项的 key、label、disabled 等
  • target-keys: 选中项对应的 key 数组
  • render-content: 自定义内容渲染函数
  • ...: 其他通用属性
事件 (Events)
  • change: 选中项发生变化时触发
  • select: 选中项发生变化时触发(在 Element UI 2.13.0+ 版本中提供)
  • select-all: 当点击全选按钮时触发(在 Element UI 2.13.0+ 版本中提供)
  • remove: 移除项时触发(在 Element UI 2.13.0+ 版本中提供)
  • ...: 其他通用事件
方法 (Methods)
  • Element UI 的 Transfer 组件通常不提供直接调用的方法,而是通过属性和事件来控制其行为。
示例
vue 复制代码
<template>
  <el-transfer
    v-model="targetKeys"
    :data="data"
    :titles="['Source', 'Target']"
    @change="handleChange"
  ></el-transfer>
</template>

<script>
export default {
  data() {
    return {
      targetKeys: [],
      data: [
        { key: '1', label: 'Option 1' },
        { key: '2', label: 'Option 2' },
        // ...
      ],
    };
  },
  methods: {
    handleChange(value, direction, movedKeys) {
      console.log(value, direction, movedKeys);
    },
  },
};
</script>

Vue 3 + Element Plus

在 Vue 3 的 Element Plus 中,Transfer 穿梭框组件的 API 可能会有所不同,但基本概念和用法应该相似。

属性 (Attributes)
  • 与 Element UI 中的属性类似,但可能有一些新增或变更的属性。请查阅 Element Plus 官方文档以获取最新信息。
事件 (Events)
  • 与 Element UI 中的事件类似,但也可能有新增的事件。
方法 (Methods)
  • Element Plus 的 Transfer 组件可能提供了更多直接调用的方法,但这需要查看具体文档来确定。
示例

由于 Element Plus 的 API 可能会随时间变化,以下是一个假设的示例,基于 Vue 3 和 Composition API 的写法:

vue 复制代码
<template>
  <el-transfer
    v-model="targetKeys"
    :data="data"
    :titles="['Source', 'Target']"
    @change="handleChange"
  ></el-transfer>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const targetKeys = ref([]);
    const data = ref([
      { key: '1', label: 'Option 1' },
      { key: '2', label: 'Option 2' },
      // ...
    ]);

    const handleChange = (value, direction, movedKeys) => {
      console.log(value, direction, movedKeys);
    };

    return {
      targetKeys,
      data,
      handleChange,
    };
  },
};
</script>

请注意,由于 Element Plus 是基于 Vue 3 的,因此在示例中使用了 Vue 3 的 Composition API。同时,由于 Element Plus 的 API 可能会更新,请务必查阅官方文档以获取最新信息。

相关推荐
花花鱼6 小时前
vue3 基于element-plus进行的一个可拖动改变导航与内容区域大小的简单方法
前端·javascript·elementui
落魄小二7 小时前
el-table 表格索引不展示问题
javascript·vue.js·elementui
别拿曾经看以后~11 小时前
【el-form】记一例好用的el-input输入框回车调接口和el-button按钮防重点击
javascript·vue.js·elementui
lfl183261621601 天前
el-date-picker 设置开始时间和结束时间
前端·vue.js·elementui
牛先森家的牛奶1 天前
elementui中的新增弹窗在新增数据成功后再新增 发现数据无法清除解决方法
前端·javascript·elementui
dy17172 天前
el-date-picker日期选择器动态设置日期
前端·vue.js·elementui
卡布叻_星星2 天前
同一个页面击穿element样式后,会影响同样组件的使用
前端·vue.js·elementui
加油小吃货2 天前
定义全局键盘监听事件,el-dialog中删除不可用
javascript·vue.js·elementui
梅子酱~3 天前
Vue 学习随笔系列十三 -- ElementUI 表格合并单元格
vue.js·学习·elementui
涔溪3 天前
监听el-table中 自定义封装的某个组件的值发现改变调用函数
前端·vue.js·elementui