element-plus(element-plus) Cascader 级联选择器 vue3 获取lable,value (2种情况)

在公司写项目时遇到的问题,由于用的是element-plus,用element-plus举例。

  • 1.采用前端静态绑定
  • 1.先绑定cascader
  • 2 .选择时触发 change事件,通过refs取值(vue2.)
  • 3.选择时触发 change事件,通过refs取值,由于vue3采用proxy封装,取值时不同(vue3.)
  • 2.采用后端异步获取绑定
  • 注意,vue3异步获取值时不要直接放到原数组,原因是vue3会自动再加一层proxy,会取不到值。以vue3为例,我是直接绑定了label
  • 1.和静态不同,获取选择数组时需要注意
  • 2.异步获取值不需要ref属性绑定,可以直接获取,不同的是获取方式,通过change事件获取
  • 最后源码奉上
  • 如或有不正确的地方,欢迎留言评论,会及时更新

1.采用前端静态绑定

1.先绑定cascader

element-plus(element-plus) Cascader 级联选择器 vue3 获取lable,value (2种情况)_第1张图片

2 .选择时触发 change事件,通过refs取值(vue2.)

在这里插入图片描述

3.选择时触发 change事件,通过refs取值,由于vue3采用proxy封装,取值时不同(vue3.)

在这里插入图片描述

2.采用后端异步获取绑定

注意,vue3异步获取值时不要直接放到原数组,原因是vue3会自动再加一层proxy,会取不到值。以vue3为例,我是直接绑定了label

1.和静态不同,获取选择数组时需要注意

element-plus(element-plus) Cascader 级联选择器 vue3 获取lable,value (2种情况)_第2张图片

2.异步获取值不需要ref属性绑定,可以直接获取,不同的是获取方式,通过change事件获取

在这里插入图片描述

最后源码奉上

<el-cascader
                     style="margin-left:20px;margin-right:25px;width:200px"
                       ref="cascaderA"
                        
                        placeholder="请选择一个学院"
                        :options="optionACademic"
                        :props="props"
                        @change="changeAcademic">
                    </el-cascader>
 changeAcademic(){
        //静态获取     this.academicValue=this.$refs['cascaderA'].getCheckedNodes()[0].data
        //异步获取    this.academicValue=this.optionACademic[0].label
       },

如或有不正确的地方,欢迎留言评论,会及时更新

你可能感兴趣的:(element-plus,vue,elementui)