el-cascader获取lable的值

这个博客展示了如何使用Vue.js创建一个地区选择器组件。组件利用了el-cascader组件,通过pinyin-match库进行筛选,并提供了获取选定地区标签值的功能。在组件中,还定义了数据绑定、属性设置、事件监听等关键功能,以实现可配置的多级地区选择和筛选操作。
摘要由CSDN通过智能技术生成

 

<template>
  <div>
    <el-cascader
      ref="areaNames"
      v-model="disValue"
      :options="districtAll"
      :props="{
        label: 'treedataname',
        value: 'treedataid',
        children: 'childList'
      }"
      :collapse-tags="collapseTags"
      clearable
      :style="{width: typeof width === 'number' ? `${width}px` : width}"
      filterable
      :disabled="disabled"
      :filter-method="filterMethod"
      @change="handleChange"
    />
  </div>
</template>
<script>
import { districtAll } from '@/base/utils/district'
import pinyinMatch from 'pinyin-match'
export default {
  name: 'DistrictPicker',
  props: {
    value: {
      type: [String, Array, Number],
      default: _ => []
    },
    width: {
      type: [Number, String],
      default: 280
    },
    // 多选
    multiple: {
      type: Boolean,
      default: false
    },
    // 是否严格的遵守父子节点不互相关联
    checkStrictly: {
      type: Boolean,
      default: false
    },
    // 是否折叠
    collapseTags: {
      type: Boolean,
      default: true
    },
    disabled: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      districtAll: districtAll,
      areaNames: ''
    }
  },
  computed: {
    disValue: {
      get() {
        return this.value
      },
      set(val) {
        this.$emit('input', val)
      }
    }
  },
  created() {
    this.$emit('areaInfo', districtAll)
  },
  methods: {
//过滤
    filterMethod(node, keyword) {
      return pinyinMatch.match(node.text, keyword)
    },
    handleChange(val) {
      this.$emit('change', val)
      this.$nextTick(() => {
         this.areaNames = this.$refs['areaNames'].presentText  //获取lable的值
      })
    }
  }
}
</script>
<style scoped>
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值