使用element的Cascader级联选择器进行地址三级联动

这是一个关于Vue.js的博客,作者分享了一个五级地址联动选择器组件的实现,该组件具有过滤、清除、大小设定、禁用状态等功能,并支持数据联动和事件监听。组件使用了El Cascader组件并提供了使用示例。
摘要由CSDN通过智能技术生成

效果

在这里插入图片描述

源码

<template>
  <el-cascader
    filterable
    clearable
    v-model="address"
    :options="options"
    :props="{ expandTrigger: 'hover', value: 'code', label: 'name', ...props }"
    :size="size"
    :disabled="disabled"
    :placeholder="placeholder"
    @focus="focus"
    @blur="blur"
    @visible-change="visibleChange"
    @input="input"
    @change="change"
  ></el-cascader>
</template>

<script>
/**
 * @author        全易
 * @time          2023-01-09 17:30:41  星期一
 * @description   地址联级选择器
 **/

export default {
  name: "address-cascader",
  props: {
    // 父组件v-model绑定的值
    value: {
      type: Array,
    },
    size: {
      type: String,
      default: "medium",
    },
    disabled: {
      type: Boolean,
      default: false,
    },
    props: {
      type: Object,
    },
    placeholder: {
      type: String,
      default: "",
    },
  },
  data() {
    return {
      address: [],
      options: [],
    };
  },
  created() {
    this.getData();
  },
  watch: {
    // 实时联动父组件传来的值
    value(now, old) {
      console.log(now);
      this.address = now || [];
    },
  },
  methods: {
    getData() {
    // 数据来源:https://download.csdn.net/download/qq_42618566/87377829
      fetch(`/addrTree/address2021.json`)
        .then((res) => {
          return res.json();
        })
        .then((res) => {
          this.options = res;
        });
    },
    blur() {
      this.$emit("blur");
    },
    focus() {
      this.$emit("focus");
    },
    visibleChange(status) {
      // console.log(status);
      this.$emit("visible-change", status);
    },
    // 绑定v-model 实时联动父组件传来的值
    change(value) {
      this.$emit("change", value);
    },
    input(value) {
      this.$emit("input", value);
    },
  },
};
</script>

<style lang="less" scoped></style>

使用指导

<address-cascader v-model="formData.address3" />

address3 是 []

vue封装的通用五级地址联动选择器组件 [拿来即用]

Vue级联选择器可以实现单项、二级三级级联,甚至是多级级联。在web开发中,我们经常需要使用级联选择器来解决表单中的选择问题。根据引用,可以实现以下几种情况的级联选择器: 1. 单个级联:可以是下拉选择框或单选的形式。 2. 单个级联:可以是多项选择的形式。 3. 二级联动:例如省份和城市的级联选择。 4. 三级联动:例如省份、城市和区县的级联选择。 5. 多级级联:可以根据实际需求设置多级联动。 关于Vue级联选择器的具体实现和使用方法,可以参考引用中关于element组件的级联选择器的说明。通过组件嵌套的方式,可以实现级联选择器的功能。同时,引用中提到了实现数据的绑定以组件的形式调用级联选择器的功能。 因此,如果你想实现Vue级联选择器三级联动,可以按照上述引用内容的指导,使用Vue的级联选择器组件进行实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [基于vue2.0实现的级联选择器](https://download.csdn.net/download/weixin_38655987/14819357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [VUE教你实现element级联选择器 | 多级菜单](https://blog.csdn.net/qq_34119437/article/details/89474796)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

美酒没故事°

谢谢看官

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

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

打赏作者

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

抵扣说明:

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

余额充值