UNPKG

cloud-ui.vusion

Version:
262 lines (228 loc) 10.1 kB
<!-- 该 README.md 根据 api.yaml 和 docs/*.md 自动生成,为了方便在 GitHub 和 NPM 上查阅。如需修改,请查看源文件 --> # UDropdown 下拉菜单 - [示例](#示例) - [基本用法](#基本用法) - [触发方式](#触发方式) - [UDropdown API](#udropdown-api) - [Props/Attrs](#propsattrs) - [Slots](#slots) - [UDropdownItem API](#udropdownitem-api) - [Props/Attrs](#propsattrs-2) - [Events](#events) - [UDropdownGroup API](#udropdowngroup-api) - [Props/Attrs](#propsattrs-3) - [Slots](#slots-2) **Navigation** 下拉菜单 ## 示例 ### 基本用法 ```html <u-dropdown> <template #title="scope"> <u-text text="下拉菜单"></u-text> </template> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item disabled text="item"></u-dropdown-item> </u-dropdown> <u-dropdown type="primary"> <template #title="scope"> <u-text text="下拉按钮"></u-text> </template> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item disabled text="item"></u-dropdown-item> </u-dropdown> <u-dropdown type="primary_secondary"> <template #title="scope"> <u-text text="下拉按钮"></u-text> </template> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item disabled text="item"></u-dropdown-item> </u-dropdown> <u-dropdown type="normal"> <template #title="scope"> <u-text text="下拉按钮"></u-text> </template> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item disabled text="item"></u-dropdown-item> </u-dropdown> <u-dropdown type="more"> <template #title="scope"> <u-text text="下拉按钮"></u-text> </template> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item disabled text="item"></u-dropdown-item> </u-dropdown> ``` ## 禁用状态 ```html <u-dropdown disabled> <template #title="scope"> <u-text text="下拉菜单"></u-text> </template> </u-dropdown> <u-dropdown disabled type="primary"> <template #title="scope"> <u-text text="下拉按钮"></u-text> </template> </u-dropdown> <u-dropdown disabled type="primary_secondary"> <template #title="scope"> <u-text text="下拉按钮"></u-text> </template> </u-dropdown> <u-dropdown disabled type="normal"> <template #title="scope"> <u-text text="下拉按钮"></u-text> </template> </u-dropdown> ``` ## 选项带图标 ```html <u-dropdown> <template #title="scope"> <u-text text="下拉菜单"></u-text> </template> <u-dropdown-item icon="task" text="item"></u-dropdown-item> <u-dropdown-item icon="task" text="item"></u-dropdown-item> <u-dropdown-item icon="task" text="item"></u-dropdown-item> <u-dropdown-item icon="task" disabled text="item"></u-dropdown-item> </u-dropdown> ``` ## append-to body ```html <u-dropdown append-to="body"> <template #title="scope"> <u-text text="下拉菜单"></u-text> </template> <u-dropdown-item icon="task" text="item"></u-dropdown-item> <u-dropdown-item icon="task" text="item"></u-dropdown-item> <u-dropdown-item icon="task" text="item"></u-dropdown-item> <u-dropdown-item icon="task" disabled text="item"></u-dropdown-item> </u-dropdown> ``` ### 触发方式 使用`trigger`属性设置触发方式。 ``` html <u-linear-layout> <u-dropdown trigger="hover"> <template #title="scope"> <u-text text="下拉菜单hover展开"></u-text> </template> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item disabled text="item"></u-dropdown-item> <u-dropdown-group title="下拉组"> <u-dropdown-item text="item1"></u-dropdown-item> <u-dropdown-item text="item1"></u-dropdown-item> <u-dropdown-item text="item1"></u-dropdown-item> <u-dropdown-item disabled text="item1"></u-dropdown-item> </u-dropdown-group> </u-dropdown> <u-dropdown trigger="click"> <template #title="scope"> <u-text text="下拉菜单click展开"></u-text> </template> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item disabled text="item"></u-dropdown-item> <u-dropdown-group title="下拉组"> <u-dropdown-item text="item1"></u-dropdown-item> <u-dropdown-item text="item1"></u-dropdown-item> <u-dropdown-item text="item1"></u-dropdown-item> <u-dropdown-item disabled text="item1"></u-dropdown-item> </u-dropdown-group> </u-dropdown> </u-linear-layout> ``` #### 手动触发 也可以手动触发工具提示的弹出/关闭: ``` vue <template> <u-linear-layout> <u-button @click="opened = !opened"> {{ opened ? '隐藏' : '弹出' }} </u-button> <u-dropdown trigger="manual" :opened="opened"> <template #title="scope"> <u-text text="下拉菜单"></u-text> </template> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item text="item"></u-dropdown-item> <u-dropdown-item disabled text="item"></u-dropdown-item> </u-dropdown> </u-linear-layout> </template> <script> export default { data() { return { opened: false, }; }, }; </script> ``` ## UDropdown API ### Props/Attrs | Prop/Attr | Type | Options | Default | Description | | --------- | ---- | ------- | ------- | ----------- | | has-data-source | boolean | | `false` | undefined | | data-source | Array\<Item\> \| Function \| object \| DataSource | | | 展示数据的输入源,可设置为集合类型变量(List<T>)或输出参数为集合类型的逻辑。 | | data-schema | schema | | | 数据源返回的数据结构的类型,自动识别类型进行展示说明 | | text-field | string | | `'text'` | 集合的元素类型中,用于显示文本的属性名称 | | value-field | string | | `'value'` | 集合的元素类型中,用于标识选中值的属性 | | icon-field | string | | `'icon'` | 集合的元素类型中,用于图标的属性名称 | | to-field | string | | `'to'` | 集合的元素类型中,用于跳转链接的属性名称 | | parent-field | string | | `''` | 集合的元素类型中,用于标识父节点的属性 | | trigger | string | `[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]` | `'click'` | 触发方式 | | type | string | `[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]` | `'text'` | | | placement | string | `[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]` | `'bottom'` | 弹出层的弹出方向 | | append-to | string | `[object Object]`<br/>`[object Object]` | `'reference'` | 设置弹出层依据哪个元素定位位置,可选值:`'body'`表示添加到 document.body,`'reference'`表示添加到参考元素中。 | | router | boolean | | `true` | 是否使用 vue-router | | value.sync, v-model | any | | | 当前选中的值 | | disabled | boolean | | `false` | 置灰显示,且禁止任何交互(焦点、点击、选择、输入等) | | opened | boolean | | `false` | | ### Slots #### (default) 插入`<u-dropdown>`子组件。 ## UDropdownItem API ### Props/Attrs | Prop/Attr | Type | Options | Default | Description | | --------- | ---- | ------- | ------- | ----------- | | text | string | | | 显示文本内容 | | to | string, Location | | | 需要 vue-router,与`<router-link>`的`to`属性相同。可以是一个字符串或者是描述目标位置的对象。 | | icon | icon | | `''` | | | linkType | string | `[object Object]`<br/>`[object Object]` | `'destination'` | | | hrefAndTo | string | | | | | target | string | `[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]` | `'_self'` | 链接跳转的打开方式,父级窗口和顶级窗口仅适用于iframe组件嵌套的情况,若不存在嵌套,则其打开方式同当前窗口。 | | disabled | boolean | | `false` | 置灰显示,且禁止任何交互(焦点、点击、选择、输入等) | ### Events #### @click 点击此项时触发,与原生 click 事件不同的是,它只会在非只读和禁用的情况下触发。 | Param | Type | Description | | ----- | ---- | ----------- | ## UDropdownGroup API ### Props/Attrs | Prop/Attr | Type | Options | Default | Description | | --------- | ---- | ------- | ------- | ----------- | | title | string | | | 显示的标题 | | collapsible | boolean | | `true` | 设置是否可以展开/折叠 | | trigger | string | `[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]` | `'none'` | 触发方式 | | expanded.sync | boolean | | `false` | 展开状态分为“True(展开)/False(折叠)”,默认为“展开” | | disabled | boolean | | `false` | 置灰显示,且禁止展开/折叠操作 | ### Slots #### (default) 插入`<u-dropdown>`子组件。