vue专题-cascader获取label值

1、需求

编辑联级选择时,获取选中的文本值。

2、代码实现

前端页面展示代码:

<el-form-item label="服务分类"  prop="categoryId" >
                 <el-cascader  ref="cascaderCatergoryRef"  class="form-item-cascader w-[280px]" @change="handleCatergoryChange"
                    v-model="formData.categoryId"   placeholder="请选择服务分类"
                    :options="optionsData.categoryCate"
                    :props="{
                        value: 'id',
                        label: 'name',
                        children: 'children',
                        multiple: false,
                        emitPath: false
                    }"
                    clearable>
                 </el-cascader>
                </el-form-item>

change方法获取选中的label值

const handleCatergoryChange = async (data) => {
   formData.categoryDesc = cascaderCatergoryRef._rawValue.getCheckedNodes()[0].text;
}

3、解析

  1. cascader中的options是获取数据源。
  2. props是设置父子级关系的,自定义字段来维系父子级。
  3. handleCatergoryChange方法是cascader获取label值,通过ref引用获取选中的text值。

4、页面展示

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue3 和 Element-Plus 使用 `el-cascader` 组件,可以通过 `change` 事件来获取。 例如,假设你有一个 `el-cascader` 组件如下: ```html <el-cascader v-model="selectedOptions" :options="options" @change="handleCascaderChange" ></el-cascader> ``` 其,`selectedOptions` 是一个数组,表示当前选,`options` 是一个数组,表示可选的选项。`handleCascaderChange` 是一个方法,用于处理 `change` 事件。 在 `handleCascaderChange` 方法,可以通过遍历 `selectedOptions` 数组来获取每一级选,并将它们组合成一个字符串,作为 `el-cascader` 的 `label` 。例如: ```js export default { data() { return { selectedOptions: [], options: [ { value: 'zhinan', label: '指南', children: [ { value: 'shejiyuanze', label: '设计原则', children: [ { value: 'yizhi', label: '一致' }, { value: 'fankui', label: '反馈' } ] } ] } ] } }, methods: { handleCascaderChange(value) { let label = '' for (let i = 0; i < value.length; i++) { const option = this.options[i].children.find(item => item.value === value[i]) label += option.label + (i < value.length - 1 ? ' / ' : '') } console.log('选:', value) console.log('选的标签:', label) } } } ``` 在上面的代码,我们使用 `find` 方法来查找每一级选对应的选项,然后将它们的 `label` 拼接在一起,并在每一级之间添加斜杠分隔符。最终的结果就是一个字符串,表示当前选的标签。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

张先生程序猿

谢谢您的打赏,我会持续创作下去

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

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

打赏作者

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

抵扣说明:

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

余额充值