From 0352f5d9a61f987c0e6f86ef5c5f2ebb62cb41c4 Mon Sep 17 00:00:00 2001 From: chenjiahan Date: Sat, 19 Dec 2020 16:08:40 +0800 Subject: [PATCH] feat(Cascader): basic dom struct --- src/cascader/README.zh-CN.md | 30 ++++----- src/cascader/demo/area.js | 122 +++++++++++++++++++++++++++++++++++ src/cascader/demo/index.vue | 9 ++- src/cascader/index.js | 83 +++++++++++++++++------- src/cascader/index.less | 42 ++++++++---- src/locale/lang/zh-CN.ts | 3 + src/style/var.less | 2 - 7 files changed, 236 insertions(+), 55 deletions(-) create mode 100644 src/cascader/demo/area.js diff --git a/src/cascader/README.zh-CN.md b/src/cascader/README.zh-CN.md index 07e2afbc7..4fc6e99a7 100644 --- a/src/cascader/README.zh-CN.md +++ b/src/cascader/README.zh-CN.md @@ -2,7 +2,7 @@ ### 介绍 -级联选择框,用于多层级数据的选择,典型场景为省市区选择,2.9 版本开始支持此组件。 +级联选择框,用于多层级数据的选择,典型场景为省市区选择,2.12 版本开始支持此组件。 ### 引入 @@ -18,7 +18,9 @@ Vue.use(Cascader); ### 基础用法 ```html - + + + ``` ```js @@ -35,15 +37,14 @@ export default { ### Props -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | -------------------- | --------------------- | --------- | -| show.sync | 是否显示级联选择弹窗 | _boolean_ | `false` | -| title | 顶部标题 | _string_ | - | -| value | 选中项的值 | `string[] | number[]` | - | -| options | 可选项数据源 | _Option[]_ | `[]` | -| placeholder | 未选中时的提示文案 | _string_ | `请选择` | -| confirm-text | 确认按钮文字 | _string_ | `确认` | -| active-color | 选中状态的高亮颜色 | _string_ | `#ee0a24` | +| 参数 | 说明 | 类型 | 默认值 | +| ------------ | ------------------ | ---------------------- | --------- | +| title | 顶部标题 | _string_ | - | +| value | 选中项的值 | _string[] \| number[]_ | - | +| options | 可选项数据源 | _Option[]_ | `[]` | +| placeholder | 未选中时的提示文案 | _string_ | `请选择` | +| active-color | 选中状态的高亮颜色 | _string_ | `#ee0a24` | +| closeable | 是否显示关闭图标 | _boolean_ | `true` | ### Events @@ -54,7 +55,6 @@ export default { ### Slots -| 名称 | 说明 | -| ------------ | -------------- | -| title | 自定义顶部标题 | -| confirm-text | 自定义确认按钮 | +| 名称 | 说明 | +| ----- | -------------- | +| title | 自定义顶部标题 | diff --git a/src/cascader/demo/area.js b/src/cascader/demo/area.js new file mode 100644 index 000000000..c9f297f14 --- /dev/null +++ b/src/cascader/demo/area.js @@ -0,0 +1,122 @@ +export default [ + { + text: '浙江省', + value: '330000', + children: [ + { + text: '杭州市', + value: '330100', + children: [ + { + text: '上城区', + value: '330102', + }, + { + text: '下城区', + value: '330103', + }, + { + text: '江干区', + value: '330104', + }, + ], + }, + { + text: '宁波市', + value: '330200', + children: [ + { + text: '海曙区', + value: '330203', + }, + { + text: '江北区', + value: '330205', + }, + { + text: '北仑区', + value: '330206', + }, + ], + }, + { + text: '温州市', + value: '330300', + children: [ + { + text: '鹿城区', + value: '330302', + }, + { + text: '龙湾区', + value: '330303', + }, + { + text: '瓯海区', + value: '330304', + }, + ], + }, + ], + }, + { + text: '江苏省', + value: '320000', + children: [ + { + text: '南京市', + value: '320100', + children: [ + { + text: '玄武区', + value: '320102', + }, + { + text: '秦淮区', + value: '320104', + }, + { + text: '建邺区', + value: '320105', + }, + ], + }, + { + text: '无锡市', + value: '320200', + children: [ + { + text: '锡山区', + value: '320205', + }, + { + text: '惠山区', + value: '320206', + }, + { + text: '滨湖区', + value: '320211', + }, + ], + }, + { + text: '徐州市', + value: '320300', + children: [ + { + text: '鼓楼区', + value: '320302', + }, + { + text: '云龙区', + value: '320303', + }, + { + text: '贾汪区', + value: '320305', + }, + ], + }, + ], + }, +]; diff --git a/src/cascader/demo/index.vue b/src/cascader/demo/index.vue index 271fc5610..6a4d7c1de 100644 --- a/src/cascader/demo/index.vue +++ b/src/cascader/demo/index.vue @@ -1,6 +1,6 @@