当前位置:首页 > 前端教程

elementui穿梭

2026-03-06 02:29:39前端教程

elementui穿梭框使用指南

Element UI 的穿梭框(Transfer)组件用于在两栏之间移动元素,常用于权限分配、数据选择等场景。

基本用法

在项目中引入 Element UI 后,可以通过以下代码实现基本穿梭框功能:

elementui穿梭

<template>
  <el-transfer
    v-model="value"
    :data="data"
    :titles="['Source', 'Target']"
    @change="handleChange">
  </el-transfer>
</template>

<script>
export default {
  data() {
    return {
      data: [],
      value: []
    }
  },
  methods: {
    handleChange(value, direction, movedKeys) {
      console.log(value, direction, movedKeys)
    }
  },
  created() {
    for (let i = 1; i <= 15; i++) {
      this.data.push({
        key: i,
        label: `Option ${i}`,
        disabled: i % 4 === 0
      })
    }
  }
}
</script>

属性配置

穿梭框支持多种配置属性:

  • v-model:绑定当前选中项的key数组
  • data:数据源数组,需包含key和label字段
  • titles:左右两侧标题
  • filterable:是否可搜索过滤
  • filter-placeholder:搜索框占位文本
  • target-order:目标列表排序方式

高级功能

实现自定义渲染和复杂操作:

elementui穿梭

<el-transfer
  v-model="value"
  :data="data"
  :titles="['可选', '已选']"
  :format="{
    noChecked: '${total}',
    hasChecked: '${checked}/${total}'
  }"
  @left-check-change="handleLeftCheckChange"
  @right-check-change="handleRightCheckChange">
  <template #left-footer>
    <el-button size="small">操作</el-button>
  </template>
  <template #right-footer>
    <el-button size="small">操作</el-button>
  </template>
</el-transfer>

常见问题解决

数据更新后视图不刷新时,可以尝试:

  • 确保data数组中的key唯一
  • 使用Vue.set或数组变异方法更新数据
  • 必要时添加key属性强制重新渲染

性能优化

处理大数据量时:

  • 使用虚拟滚动或分页加载
  • 避免频繁更新整个data数组
  • 考虑使用lazy模式延迟渲染

标签: elementui
分享给朋友:

相关文章

elementui锁屏

elementui锁屏

ElementUI 锁屏功能实现 ElementUI 本身并未直接提供锁屏组件,但可以通过遮罩层、自定义指令或结合 Vue 路由守卫实现类似效果。以下是几种常见实现方式: 使用遮罩层与自定义指令 通…

elementui优秀

elementui优秀

优秀特性 Element UI 作为一款基于 Vue.js 的组件库,因其设计规范、易用性和丰富的功能而广受开发者青睐。 一致性设计 遵循统一的视觉风格和交互逻辑,提供开箱即用的主题定制能力,支…

iwiew elementui

iwiew elementui

iView 与 Element UI 对比 iView 和 Element UI 都是基于 Vue.js 的 UI 组件库,适用于快速开发企业级中后台管理系统。以下是两者的详细对比: 设计风格…

elementui title

elementui title

ElementUI 的 Title 相关组件及用法 ElementUI 提供了多种与标题(Title)相关的组件和配置选项,适用于不同场景的需求。以下是常见的使用方法和组件介绍: 对话框(Di…

elementui open=

elementui open=

ElementUI Open 方法详解 ElementUI 是一个基于 Vue.js 的组件库,提供了丰富的 UI 组件。open 方法通常用于打开对话框、下拉菜单等交互组件。 Dialog 组件…

elementui dllplugin

elementui dllplugin

ElementUI DLLPlugin 配置方法 ElementUI 的 DLLPlugin 是一种 Webpack 插件,用于提升构建性能。通过将不经常变化的依赖库预先编译打包,减少开发时的重复构建…