elementui地区
Element UI 地区选择组件
Element UI 提供了 el-cascader 级联选择器组件,支持地区选择功能。需要搭配地区数据源实现。
安装与引入
确保已安装 Element UI:
npm install element-ui -S
在项目中引入 el-cascader:

import { Cascader } from 'element-ui'
Vue.use(Cascader)
基础地区选择实现
准备地区数据(以中国省市区为例):
const regionData = [
{
value: 'zhejiang',
label: '浙江省',
children: [
{
value: 'hangzhou',
label: '杭州市',
children: [
{ value: 'xihu', label: '西湖区' }
]
}
]
}
// 其他省份数据...
]
模板中使用:

<el-cascader
v-model="selectedRegion"
:options="regionData"
@change="handleChange">
</el-cascader>
动态加载数据
对于大数据量的地区选择,建议使用懒加载:
lazyLoad(node, resolve) {
const { level } = node
// 根据level异步加载不同层级数据
fetch(`/api/regions?parent=${node.value}`)
.then(res => resolve(res.data))
}
模板配置:
<el-cascader
:props="{
lazy: true,
lazyLoad: lazyLoad
}">
</el-cascader>
常用配置项
props: 可配置value/label/children的字段映射show-all-levels: 是否显示完整路径filterable: 支持搜索过滤clearable: 可清空选择
实际项目建议
- 使用第三方维护的完整地区数据包(如china-area-data)
- 考虑后端API返回地区数据,减少前端包体积
- 对于国际版应用,需要准备多语言地区数据
注意事项
- 大数据量地区数据可能导致性能问题,建议使用懒加载
- 移动端使用时需要调整样式适应小屏幕
- 表单验证时需要处理级联选择器的特殊值格式






