element-ui中的穿梭框

在element-ui中有一个不常用但还是比较炫的一个组件,就是穿梭框。他要实现的就是把左面的选中然后传送到右面表示选中,或者右面的传送到左面表示取消。首先我们看文档的话会得到基本的穿梭框代码;即:

<template>
  <el-transfer
    v-model="value2"
    :data="data2">
  </el-transfer>
</template>

<script>
  export default {
    data() {
      function generateData2 () {
        const data = [];
        const cities = ['上海', '北京', '广州', '深圳', '南京', '西安', '成都'];
        cities.forEach((city, index) => {
          data.push({
            label: city,
            key: index
          });
        });
        return data;
      };
      return {
        data2: generateData2(),
        value2: [],
      };
    }
  };
</script>

首先我们来分析一下,cities是放数据的地方,data是左边数据,value2是右面的数据;首先会将cities数组中的数据使用forEach遍历一遍,将item=city和index加入到data里,返回data;然后data2调用这个函数,获得数据。使用v-model进行双向数据绑定,:data2得到数据;一切就绪,简单的就做好了。接下来进入正题:如何从后台接口获取数据:

//template中的不变,在generateData2()中加入查询数据的代码
axios.get('接口地址').then(({data:result})=>{
					// console.log(result.data);
					var q = result.data;
					// console.log(q);
					q.forEach(({id,name,questionType,options})=>{
						var k={
							id,
							name,
							questionType,
							options
						}
					data.push({
						key:k.id,
						label:name,
					})
				})
					// console.log(data)
					return data;
				}).catch(()=>{
					this.$notify.error({
						title:'错误',
						message:'服务器异常'
					})
				});
		        return data;
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值