@@ -123,6 +123,125 @@ export default defineComponent({
123123
124124:::
125125
126+ ### 尺寸
127+
128+ :::demo 支持` sm ` 、` md ` 、` lg ` 三种尺寸,默认为` md ` 。
129+
130+ ``` vue
131+ <template>
132+ <h4>Small</h4>
133+
134+ <d-cascader :options="options" size="sm" placeholder="请选择" style="width: 200px"></d-cascader>
135+
136+ <h4>Middle</h4>
137+
138+ <d-cascader :options="options" size="md" placeholder="请选择" style="width: 200px"></d-cascader>
139+
140+ <h4>Large</h4>
141+
142+ <d-cascader :options="options" size="lg" placeholder="请选择" style="width: 200px"></d-cascader>
143+ </template>
144+ <script>
145+ import { defineComponent, reactive, ref } from 'vue';
146+
147+ export default defineComponent({
148+ setup() {
149+ const options = reactive([
150+ {
151+ label: 'option1',
152+ value: 1,
153+ children: [
154+ {
155+ label: 'option1-1',
156+ value: 4,
157+ children: [
158+ {
159+ label: 'option1-1-1',
160+ value: 8,
161+ children: [],
162+ },
163+ {
164+ label: 'option1-1-2',
165+ value: 9,
166+ children: [
167+ {
168+ label: 'option1-1-2-1',
169+ value: 81,
170+ },
171+ ],
172+ },
173+ ],
174+ },
175+ {
176+ label: 'option1-2',
177+ value: 41,
178+ },
179+ {
180+ label: 'option1-3',
181+ value: 42,
182+ },
183+ {
184+ label: 'option1-4',
185+ value: 43,
186+ },
187+ ],
188+ },
189+ {
190+ label: 'option2',
191+ value: 2,
192+ children: [
193+ {
194+ label: 'option2-1',
195+ value: 5,
196+ children: [
197+ {
198+ label: 'option2-1-1',
199+ value: 51,
200+ },
201+ {
202+ label: 'option2-1-2',
203+ value: 61,
204+ disabled: true,
205+ },
206+ ],
207+ },
208+ {
209+ label: 'option2-2',
210+ value: 6,
211+ children: [
212+ {
213+ label: 'option2-2-1',
214+ value: 512,
215+ },
216+ {
217+ label: 'option2-2-2',
218+ value: 611,
219+ },
220+ ],
221+ },
222+ {
223+ label: 'option2-3',
224+ value: 712,
225+ },
226+ ],
227+ },
228+ {
229+ label: 'option3',
230+ value: 3,
231+ children: [],
232+ disabled: true,
233+ },
234+ ]);
235+ const value = ref([1, 4, 9, 81]);
236+
237+ return { options, value };
238+ },
239+ });
240+ </script>
241+ ```
242+
243+ :::
244+
126245### 自定义宿主元素
127246
128247:::demo 可通过` host ` 插槽自定义展开` Cascader ` 菜单的宿主元素。
@@ -375,20 +494,20 @@ export default defineComponent({
375494
376495### API
377496
378- | 参数 | 类型 | 默认 | 说明 | 跳转 Demo |
379- | :------------ | :-------------------------------- | :------ | :--------------------------------------------------------------------------------------------------- | --------------------- |
380- | v-model | ` (number\|string)[] ` | [ ] | 可选,单选时为` (number\|sring)[] ` | [ 基本用法] ( #基本用法 ) |
381- | trigger | ` 'hover'\|'click' ` | 'hover' | 可选,指定展开次级菜单的方式 | [ 基本用法] ( #基本用法 ) |
382- | options | [ ` CascaderItem[] ` ] ( #CascaderItem ) | [ ] | 必选,级联器的菜单信息 | [ 基本用法] ( #基本用法 ) |
383- | placeholder | ` string ` | '' | 可选,没有选择时的输入框展示信息 | [ 基本用法] ( #基本用法 ) |
384- | disabled | ` boolean ` | false | 可选,级联器是否禁用 | [ 基本用法] ( #基本用法 ) |
385- | width | ` number \| string ` | 200 | 可选,单位 px,用于控制组件输入框宽度和下拉的宽度 | [ 基本用法] ( #多选模式 ) |
386- | dropdownWidth | ` number \| string ` | 200 | 可选,单位 px,控制下拉列表的宽度,默认和组件输入框 width 相等 | [ 基本用法] ( #多选模式 ) |
387- | clearable | ` boolean ` | true | 可选,是否支持清空选项 | [ 基本用法] ( #基本用法 ) |
388- | filterable | ` boolean ` | true | 可选,是否可搜索选项 | [ 可搜索] ( #可搜索 ) |
389- | debounce | ` number ` | 300 | 可选,搜索关键词输入去抖延迟 | [ 可搜索] ( #可搜索 ) |
390- | before-filter | ` function(value) ` | -- | 可选,过滤函数调用前的钩子函数。该函数返回值时 false 或者被拒绝的 Promise,接下来的过滤逻辑将不会执行 | [ 可搜索] ( #可搜索 ) |
391- | size | [ CascaderSize] ( #cascadersize ) | 'md' | 文本框的尺寸 | -- |
497+ | 参数 | 类型 | 默认 | 说明 | 跳转 Demo |
498+ | :------------ | :-------------------------------- | :------ | :--------------------------------------------------------------------------------------------------- | -------------------------------------- |
499+ | v-model | ` (number\|string)[] ` | [ ] | 可选,单选时为`(number\ | sring)[ ] ` | [ 基本用法] ( #基本用法 ) |
500+ | trigger | ` 'hover'\|'click' ` | 'hover' | 可选,指定展开次级菜单的方式 | [ 基本用法] ( #基本用法 ) |
501+ | options | [ ` CascaderItem[] ` ] ( #CascaderItem ) | [ ] | 必选,级联器的菜单信息 | [ 基本用法] ( #基本用法 ) |
502+ | placeholder | ` string ` | '' | 可选,没有选择时的输入框展示信息 | [ 基本用法] ( #基本用法 ) |
503+ | disabled | ` boolean ` | false | 可选,级联器是否禁用 | [ 基本用法] ( #基本用法 ) |
504+ | width | ` number \| string ` | 200 | 可选,单位 px,用于控制组件输入框宽度和下拉的宽度 | [ 基本用法] ( #多选模式 ) |
505+ | dropdownWidth | ` number \| string ` | 200 | 可选,单位 px,控制下拉列表的宽度,默认和组件输入框 width 相等 | [ 基本用法] ( #多选模式 ) |
506+ | clearable | ` boolean ` | true | 可选,是否支持清空选项 | [ 基本用法] ( #基本用法 ) |
507+ | filterable | ` boolean ` | true | 可选,是否可搜索选项 | [ 可搜索] ( #可搜索 ) |
508+ | debounce | ` number ` | 300 | 可选,搜索关键词输入去抖延迟 | [ 可搜索] ( #可搜索 ) |
509+ | before-filter | ` function(value) ` | -- | 可选,过滤函数调用前的钩子函数。该函数返回值时 false 或者被拒绝的 Promise,接下来的过滤逻辑将不会执行 | [ 可搜索] ( #可搜索 ) |
510+ | size | [ CascaderSize] ( #cascadersize ) | 'md' | 文本框的尺寸 | [ 尺寸 ] ( #尺寸 ) |
392511
393512### Cascader 事件
394513
0 commit comments