element-ui组件实现三级联动

<template>
  <div class="demo_box">
    <!-- 省 -->
    <el-select v-model="provinceVal" class="province">
      <el-option v-for="item in proOptions" :key="item.value" :label="item.label" :value="item.value">
      </el-option>
    </el-select>
    <!-- 市  通过cityOptions[provinceVal]来展示当前省里面的市-->
    <el-select v-model="cityVal" class="city">
      <el-option v-for="item in cityOptions[provinceVal]" :key="item.value" :label="item.label" :value="item.value">
      </el-option>
    </el-select>
    <!-- 区 同理areaOptions[provinceVal][cityVal]来展示当前省市里面的区-->
    <el-select v-model="areaVal" class="area">
      <el-option v-for="item in areaOptions[provinceVal][cityVal]" :key="item.value" :label="item.label" :value="item.value">
      </el-option>
    </el-select>
  </div>
</template>

<script>
export default {
  name: 'DemoBox',
  data () {
    return {
      // 省份
      proOptions: [
        {
          value: '0',
          label: '浙江省'
        },
        {
          value: '1',
          label: '江西省'
        },
        {
          value: '2',
          label: '湖南省'
        },
        {
          value: '3',
          label: '广东省'
        },
        {
          value: '4',
          label: '福建省'
        },
        {
          value: '5',
          label: '四川省'
        },
        {
          value: '6',
          label: '贵州省'
        },
        {
          value: '7',
          label: '山东省'
        },
        {
          value: '8',
          label: '云南省'
        }
      ],
      // 保存选中省份的值
      provinceVal: '0',
      // 市
      cityOptions: [
        // 浙江的市
        [
          {
            value: '0',
            label: '宁波市'
          },
          {
            value: '1',
            label: '杭州市'
          },
          {
            value: '2',
            label: '温州市'
          },
          {
            value: '3',
            label: '嘉兴市'
          },
          {
            value: '4',
            label: '湖州市'
          },
          {
            value: '5',
            label: '绍兴市'
          },
          {
            value: '6',
            label: '金华市'
          },
          {
            value: '7',
            label: '衢州市'
          },
          {
            value: '8',
            label: '舟山市'
          }
        ],
        // 江西的市
        [
          {
            value: '0',
            label: '南昌市'
          },
          {
            value: '1',
            label: '景德镇市'
          },
          {
            value: '2',
            label: '吉安市'
          }
        ]
      ],
      // 保存市的值
      cityVal: '0',
      // 区
      areaOptions: [
        // 浙江的市
        [
          // 宁波的区
          [
            {
              value: '0',
              label: '奉化区'
            },
            {
              value: '1',
              label: '海曙区'
            },
            {
              value: '2',
              label: '江北区'
            },
            {
              value: '3',
              label: '北仑区'
            },
            {
              value: '4',
              label: '镇海区'
            },
            {
              value: '5',
              label: '鄞州区'
            }
          ],
          // 杭州的区
          [
            {
              value: '0',
              label: '上城区'
            },
            {
              value: '1',
              label: '墅区拱'
            },
            {
              value: '2',
              label: '西湖区'
            },
            {
              value: '3',
              label: '滨江区'
            },
            {
              value: '4',
              label: '萧山区'
            },
            {
              value: '5',
              label: '余杭区'
            },
            {
              value: '6',
              label: '临平区'
            },
            {
              value: '7',
              label: '钱塘区'
            }
          ]
        ],
        // 江西的市
        [
          // 南昌的区
          [
            {
              value: '0',
              label: '安义县'
            },
            {
              value: '1',
              label: '南昌县'
            },
            {
              value: '2',
              label: '青山湖区'
            }
          ],
          // 景德镇市的区
          [
            {
              value: '0',
              label: '昌江区'
            },
            {
              value: '1',
              label: '珠山区'
            },
            {
              value: '2',
              label: '浮梁县'
            }
          ]
        ]
      ],
      // 保存选中的区
      areaVal: '0'
    }
  }
}
</script>

<style>
</style>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值