提交 ac5801f2 authored 作者: 王鹏飞's avatar 王鹏飞

components: 新增省市区选择

上级 9980a17b
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -11,7 +11,10 @@ ...@@ -11,7 +11,10 @@
}, },
"dependencies": { "dependencies": {
"axios": "^0.21.1", "axios": "^0.21.1",
"china-area-data": "^5.0.1",
"element-ui": "^2.15.5", "element-ui": "^2.15.5",
"install": "^0.13.0",
"npm": "^8.1.1",
"query-string": "^7.0.1", "query-string": "^7.0.1",
"vue": "^2.6.14", "vue": "^2.6.14",
"vue-router": "^3.5.2", "vue-router": "^3.5.2",
......
<template>
<el-cascader :options="options" :props="props" clearable v-bind="$attrs" v-on="$listeners"></el-cascader>
</template>
<script>
import chinaAreaData from 'china-area-data'
const AreaTreeData = listToTree(codeToList('86', chinaAreaData), chinaAreaData)
function listToTree(list, data) {
return list.map(item => {
const items = codeToList(item.code, data)
if (items.length) {
item.children = listToTree(items, data)
}
return item
})
}
function codeToList(code, data) {
const results = []
const item = data[code]
for (const code in item) {
results.push({ code, name: item[code] })
}
return results
}
export default {
props: {
props: {
type: Object,
default() {
return { label: 'name', value: 'name', expandTrigger: 'hover' }
}
}
},
data() {
return {
options: AreaTreeData
}
}
}
</script>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论