vue element 树形穿梭框 ----- 插件el-tree-transfer

5 篇文章 0 订阅
5 篇文章 0 订阅

在这里插入图片描述

npm install el-tree-transfer --save
<template>
<div>
    <tree-transfer
      :title="title"
      class="str"
      :from_data='fromData'
      :to_data='toData'
      :defaultProps="{label:'label'}"
      @add-btn='add'
      @remove-btn='remove'
      :mode='mode'
      height='500px'
      filter openAll>
    </tree-transfer>
  </div>
</template>
<script>
 import treeTransfer from 'el-tree-transfer'
export default {
  name: 'treeTransfer-list',
  components:{
    treeTransfer
  },
  data () {
    return {
      mode: "transfer", // transfer addressList
      fromData:[
        {
          id: "1",
          pid: 0,
          label: "一级 1",
          children: [
            {
              id: "1-1",
              pid: "1",
              label: "二级 1-1",
              disabled: true,
              children: []
            },
            {
              id: "1-2",
              pid: "1",
              label: "二级 1-2",
              children: [
                {
                  id: "1-2-1",
                  pid: "1-2",
                  children: [],
                  label: "二级 1-2-1"
                },
                {
                  id: "1-2-2",
                  pid: "1-2",
                  children: [],
                  label: "二级 1-2-2"
                }
              ]
            }
          ]
        },
      ],
      toData:[],
      title:['已选','未选']
    }
  },
  methods:{
    add(){},
    remove(){},
  },
}
</script>

<style lang="scss" scoped>
/deep/.transfer{
    .transfer-center{
     .transfer-center-item{
      .el-button--primary{
        border-radius: 8px !important;
        width: 80px;
      }
    }
  }
}
</style>

使用时要注意数据格式,详情文档点击这里

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要在Vue3中使用Element Tree Transfer,需要先安装和引入ElementVue3: 1. 安装ElementVue3: ```bash npm install element-plus vue@next ``` 2. 在main.js中引入ElementVue3: ```js import { createApp } from 'vue' import ElementPlus from 'element-plus' import 'element-plus/lib/theme-chalk/index.css' import App from './App.vue' const app = createApp(App) app.use(ElementPlus) app.mount('#app') ``` 3. 在组件中使用Element Tree Transfer: ```vue <template> <el-tree-transfer :data="data" :titles="['Source', 'Target']" :render-content="renderContent" @change="handleChange" /> </template> <script> export default { data() { return { data: [ { id: 1, label: 'Node 1', children: [ { id: 2, label: 'Node 1-1' }, { id: 3, label: 'Node 1-2' } ] }, { id: 4, label: 'Node 2' }, { id: 5, label: 'Node 3', children: [ { id: 6, label: 'Node 3-1' } ] } ], selectedKeys: [] } }, methods: { renderContent(h, { node, data, store }) { return ( <span class="custom-tree-node"> <span>{node.label}</span> <span> <el-button size="mini" onClick={() => this.handleEdit(data)}>Edit</el-button> </span> </span> ) }, handleChange(targetKeys, direction, moveKeys) { console.log(targetKeys, direction, moveKeys) } } } </script> ``` 在上面的例子中,我们创建了一个包含Tree Transfer的组件。我们定义了一个data属性,用于渲染树形结构。我们还定义了一个renderContent函数,用于自定义每个节点的内容。最后,我们定义了一个handleChange方法,用于处理转移事件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

染指悲剧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值