element-ui中cascader同时获取label和value值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了element-ui中cascader同时获取label和value值相关的知识,希望对你有一定的参考价值。

关于elementUI中cascader选中值后,能获取value或者label,但不能同时获value和label,这一问题,琢磨出了这么个办法。
以新增和编辑城市为例,type: 1 编辑,type: 0 新增

  1. 配置元素
    <el-cascader filterable
    :class="{‘city-cascader‘: type==1}"
    :placeholder="city || ‘请选择‘"
    :options="cityLists"
    :props="cityProps"
    v-model="citySelected"
    style="width:300px;"
    :show-all-levels="false"
    @change="changeCity" >
    </el-cascader>
  2. 配置cityProps
    cityProps: {value: ‘all‘, label: ‘label‘}
  3. 组装props中的all
    // cityLists中遍历组装all
    all: {
    value: value,
    label: label
    }
  4. 使用
    此时,点击cascader选择需要的内容后,
    取出来的citySelected值就是[{value: 选中值的value, label: 选中值的label}]

这个方法可以通过配置all获取任意自己想要的值。

PS: 关于拿不到默认值的问题,我投机取巧的使用了placeholder。
:placeholder="city || ‘请选择‘"
然后在cascader上加上样式:

:class="{‘city-cascader‘: type==1}"

.city-cascader .el-input__inner::placeholder {
  color: #333 !important;
}

ok,完美解决cascader取值问题。

以上是关于element-ui中cascader同时获取label和value值的主要内容,如果未能解决你的问题,请参考以下文章

element-ui入门: cascader获取当前选择的整个对象

element-ui入门: cascader获取当前选择的整个对象

el-cascader 数据处理

element-UI级联选择器(Cascader)获取label值 ,this.$refs['新组件名'].currentLabels 在2.7版本给移除了,新的解决方法。

element-ui之级联选择器(Cascader) 全选 功能

通过继承扩展 element-ui 组件的功能