动态绑定elementUI级联选择器的值和显示内容

前端中大部分的数据都是由访问后台接口获取到。所以我们需要将获取到的数据再绑定到对应的组件中。其中接口对应的字段和组件中要绑定的字段不一样完全一致,所以我们要设置相应的属性,实现联动,一一对应。

后台返回的数据格式如下

[{
          value: 'zhinan',
          name: '指南',
          children: [{
            value: 'shejiyuanze',
            name: '设计原则',
            children: [{
              value: 'yizhi',
              name: '一致'
            }, {
              value: 'fankui',
              name: '反馈'
            }, {
              value: 'xiaolv',
              name: '效率'
            }, {
              value: 'kekong',
              name: '可控'
            }]
          }, {
            value: 'daohang',
            name: '导航',
            children: [{
              value: 'cexiangdaohang',
              name: '侧向导航'
            }, {
              value: 'dingbudaohang',
              name: '顶部导航'
            }]
          }]
        }]

查看官方文档可知,显示文本对应的是props 中的label属性。因此在data中新增属性设置label ,并在template中对应的级联选择器绑定属性。

  data(){
  	return{
  	 props:{
        multiple: true,	// 多选
        label: 'name'	// 将对象中的name绑定到组件的label属性上
      },
      cascaderVal:[],
      
  	}
  }
  <el-cascader      
     v-model="cascaderVal"
     :options="options"
     collapse-tags
     clearable
     :props='props'
   >
     <template slot-scope="{node,data}">
       <span>{{data.label}}</span>
       <span v-if="!node.isLeaf">({{data.children.length}})</span>
     </template>
   </el-cascader>   

关键点在于:要设置props属性,参考elementui官方文档,还可以手动绑定value和children属性,当返回接口和组件属性值不一致时。官方地址:https://element.eleme.io/#/zh-CN/component/cascader
在这里插入图片描述

要在 Element UI 中使用级联选择器,你需要使用 `el-cascader` 组件。以下是一个基本的示例: ```html <template> <div> <el-cascader :options="options" v-model="selectedOptions" @change="handleChange" placeholder="请选择" ></el-cascader> </div> </template> <script> export default { data() { return { options: [ { value: '1', label: '选项1', children: [ { value: '1-1', label: '选项1-1', children: [ { value: '1-1-1', label: '选项1-1-1' }, { value: '1-1-2', label: '选项1-1-2' } ] }, { value: '1-2', label: '选项1-2', children: [ { value: '1-2-1', label: '选项1-2-1' }, { value: '1-2-2', label: '选项1-2-2' } ] } ] }, { value: '2', label: '选项2', children: [ { value: '2-1', label: '选项2-1', children: [ { value: '2-1-1', label: '选项2-1-1' }, { value: '2-1-2', label: '选项2-1-2' } ] }, { value: '2-2', label: '选项2-2', children: [ { value: '2-2-1', label: '选项2-2-1' }, { value: '2-2-2', label: '选项2-2-2' } ] } ] } ], selectedOptions: [] }; }, methods: { handleChange(value) { console.log('选中的:', value); } } }; </script> ``` 在上面的示例中,`options` 数组定义了级联选择器的选项,每个选项都有一个 `value` 和 `label` 属性,可以通过 `children` 属性定义多级选项。`v-model` 指令绑定了用于保存选择的 `selectedOptions` 数组。在 `@change` 事件中,可以获取到用户选择的。 这是一个基本的示例,你可以根据你的需求自定义级联选择器的样式和功能。更多详细的使用方法和配置选项,请参考 Element UI 的官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值