element-ui如何使用el-cascader进行省市区的选择

效果图如下:

代码:

cascader.vue


<template>
    <div>
        <el-cascader
            style="width: 100%;"
            :options="options"
            v-model="value1"
            @change="handleChange"
            filterable
            :props="{value:'label'}"
            placeholder="省/市/区"
        ></el-cascader>
    </div>
</template>

<script>
// 第一步,先下载安装 npm install element-china-area-data -S
// 第二步,如下直接导入
import {regionData} from 'element-china-area-data'
export default {
    name: "index",
    props:['value'],
    data(){
        return{
            options:regionData,
            selectedOptions:[]
        }
    },
    computed:{
        value1:{
            set(val){
                this.$emit("input",val)
            },
            get(val){
                return this.value
            }
        }
    },
    methods:{
        handleChange(value){
            this.$emit('provincesValueChang',value)
        }
    }
}
</script>

在其它地方使用这个组件:

<provincesCascader
   @provincesValueChang="provincesValueChang"
   :value="form.region"
   @update:value="form.region=$event"
   style="width: 100%;"
></provincesCascader>



function provincesValueChang(value){
            form.region = value
        }


form.region = [ "山西省", "阳泉市", "矿区" ]

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
要在 Vue3 使用 Element UICascader 组件实现省市区选择,需要进行以下步骤: 1. 安装 Element UI 可以使用 npm 或者 yarn 安装 Element UI: ``` npm i element-plus -S ``` 或者 ``` yarn add element-plus ``` 2. 引入 Cascader 组件 在需要使用 Cascader 组件的 Vue 组件,可以通过以下方式引入 Cascader 组件: ```js import { defineComponent } from 'vue' import { Cascader } from 'element-plus' ``` 3. 在模板使用 Cascader 组件 在模板,可以使用 Cascader 组件进行省市区选择。例如: ```html <template> <div> <el-cascader :options="options" v-model="selectedOptions" @change="handleChange" placeholder="请选择省市区" clearable></el-cascader> </div> </template> ``` 其,`:options` 属性指定了 Cascader 的选项数据,`v-model` 绑定了选省市区数据,`@change` 监听选项变化事件,`placeholder` 属性指定了默认提示文本,`clearable` 属性指定了可以清空选项。 4. 编写选项数据 Cascader 组件需要一个选项数据列表来渲染下拉菜单,可以通过以下方式编写选项数据: ```js export default defineComponent({ name: 'CascaderDemo', data() { return { options: [ { value: 'beijing', label: '北京市', children: [ { value: 'chaoyang', label: '朝阳区', children: [ { value: 'sanlitun', label: '三里屯', }, { value: 'guomao', label: '国贸', }, ], }, { value: 'haidian', label: '海淀区', children: [ { value: 'zhongguancun', label: '关村', }, { value: 'wudaokou', label: '五道口', }, ], }, ], }, { value: 'shanghai', label: '上海市', children: [ { value: 'pudong', label: '浦东新区', children: [ { value: 'lujiazui', label: '陆家嘴', }, { value: 'zhangjiang', label: '张江', }, ], }, { value: 'xuhui', label: '徐汇区', children: [ { value: 'xujiahui', label: '徐家汇', }, { value: 'huaihai', label: '淮海路', }, ], }, ], }, ], selectedOptions: [], } }, methods: { handleChange(value) { console.log(value) }, }, }) ``` 其,每个选项数据都包括 `value` 和 `label` 两个属性,`children` 属性表示该选项的子选项。在 `handleChange` 方法,可以获取到选省市区数据。 以上就是在 Vue3 使用 Element UICascader 组件实现省市区选择的步骤。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

草样的年华

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值