mirror of https://github.com/ElemeFE/element
feat: el-submenu add show-timeout,hide-timeout attributes (#8934)
* el-submenu add show-timeout,hide-timeout attributes * el-submenu add show-timeout,hide-timeout attributes * el-submenu add show-timeout,hide-timeout attributes * add the definition for SubMenupull/9130/head
parent
1ad4b89ce2
commit
ea7f7bb6d7
|
@ -63,7 +63,7 @@ Top bar NavMenu can be used in a variety of scenarios.
|
||||||
```html
|
```html
|
||||||
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
|
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
|
||||||
<el-menu-item index="1">Processing Center</el-menu-item>
|
<el-menu-item index="1">Processing Center</el-menu-item>
|
||||||
<el-submenu index="2">
|
<el-submenu index="2" show-timeout="10" hide-timeout="10">
|
||||||
<template slot="title">Workspace</template>
|
<template slot="title">Workspace</template>
|
||||||
<el-menu-item index="2-1">item one</el-menu-item>
|
<el-menu-item index="2-1">item one</el-menu-item>
|
||||||
<el-menu-item index="2-2">item two</el-menu-item>
|
<el-menu-item index="2-2">item two</el-menu-item>
|
||||||
|
@ -305,6 +305,8 @@ Vertical NavMenu could be collapsed.
|
||||||
| Attribute | Description | Type | Accepted Values | Default |
|
| Attribute | Description | Type | Accepted Values | Default |
|
||||||
|---------- |-------- |---------- |------------- |-------- |
|
|---------- |-------- |---------- |------------- |-------- |
|
||||||
| index | unique identification | string | — | — |
|
| index | unique identification | string | — | — |
|
||||||
|
| show-timeout | Delay time before show a sub-menu | number | — | 300 |
|
||||||
|
| hide-timeout | Delay time before hide a sub-menu | number | — | 300 |
|
||||||
|
|
||||||
### Menu-Item Attribute
|
### Menu-Item Attribute
|
||||||
| Attribute | Description | Type | Accepted Values | Default |
|
| Attribute | Description | Type | Accepted Values | Default |
|
||||||
|
|
|
@ -64,7 +64,7 @@ Top bar NavMenu puede ser usado en distinto escenarios.
|
||||||
```html
|
```html
|
||||||
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
|
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
|
||||||
<el-menu-item index="1">Processing Center</el-menu-item>
|
<el-menu-item index="1">Processing Center</el-menu-item>
|
||||||
<el-submenu index="2">
|
<el-submenu index="2" show-timeout="10" hide-timeout="10">
|
||||||
<template slot="title">Workspace</template>
|
<template slot="title">Workspace</template>
|
||||||
<el-menu-item index="2-1">item one</el-menu-item>
|
<el-menu-item index="2-1">item one</el-menu-item>
|
||||||
<el-menu-item index="2-2">item two</el-menu-item>
|
<el-menu-item index="2-2">item two</el-menu-item>
|
||||||
|
@ -307,6 +307,8 @@ NavMenu vertical puede ser colapsado.
|
||||||
| Atributo | Descripción | Tipo | Valores aceptados | Por defecto |
|
| Atributo | Descripción | Tipo | Valores aceptados | Por defecto |
|
||||||
| -------- | ------------------- | ------ | ----------------- | ----------- |
|
| -------- | ------------------- | ------ | ----------------- | ----------- |
|
||||||
| index | identificador único | string | — | — |
|
| index | identificador único | string | — | — |
|
||||||
|
| show-timeout | Tiempo de retardo antes de mostrar un sub-menu | number | — | 300 |
|
||||||
|
| hide-timeout | Tiempo de retardo antes de ocultar un sub-menu | number | — | 300 |
|
||||||
|
|
||||||
### Atributos Menu-Item
|
### Atributos Menu-Item
|
||||||
| Atributo | Descripción | Tipo | Valores aceptados | Por defecto |
|
| Atributo | Descripción | Tipo | Valores aceptados | Por defecto |
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
```html
|
```html
|
||||||
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
|
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
|
||||||
<el-menu-item index="1">处理中心</el-menu-item>
|
<el-menu-item index="1">处理中心</el-menu-item>
|
||||||
<el-submenu index="2">
|
<el-submenu index="2" show-timeout="10" hide-timeout="10">
|
||||||
<template slot="title">我的工作台</template>
|
<template slot="title">我的工作台</template>
|
||||||
<el-menu-item index="2-1">选项1</el-menu-item>
|
<el-menu-item index="2-1">选项1</el-menu-item>
|
||||||
<el-menu-item index="2-2">选项2</el-menu-item>
|
<el-menu-item index="2-2">选项2</el-menu-item>
|
||||||
|
@ -301,6 +301,8 @@
|
||||||
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
||||||
|---------- |-------- |---------- |------------- |-------- |
|
|---------- |-------- |---------- |------------- |-------- |
|
||||||
| index | 唯一标志 | string | — | — |
|
| index | 唯一标志 | string | — | — |
|
||||||
|
| show-timeout | 展开 sub-menu 的延时 | number | — | 300 |
|
||||||
|
| hide-timeout | 收起 sub-menu 的延时 | number | — | 300 |
|
||||||
|
|
||||||
### Menu-Item Attribute
|
### Menu-Item Attribute
|
||||||
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
||||||
|
|
|
@ -55,6 +55,14 @@
|
||||||
index: {
|
index: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true
|
||||||
|
},
|
||||||
|
showTimeout: {
|
||||||
|
type: Number,
|
||||||
|
default: 300
|
||||||
|
},
|
||||||
|
hideTimeout: {
|
||||||
|
type: Number,
|
||||||
|
default: 300
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -156,7 +164,7 @@
|
||||||
clearTimeout(this.timeout);
|
clearTimeout(this.timeout);
|
||||||
this.timeout = setTimeout(() => {
|
this.timeout = setTimeout(() => {
|
||||||
this.rootMenu.openMenu(this.index, this.indexPath);
|
this.rootMenu.openMenu(this.index, this.indexPath);
|
||||||
}, 300);
|
}, this.showTimeout);
|
||||||
},
|
},
|
||||||
handleMouseleave() {
|
handleMouseleave() {
|
||||||
const {rootMenu} = this;
|
const {rootMenu} = this;
|
||||||
|
@ -169,7 +177,7 @@
|
||||||
clearTimeout(this.timeout);
|
clearTimeout(this.timeout);
|
||||||
this.timeout = setTimeout(() => {
|
this.timeout = setTimeout(() => {
|
||||||
this.rootMenu.closeMenu(this.index);
|
this.rootMenu.closeMenu(this.index);
|
||||||
}, 300);
|
}, this.hideTimeout);
|
||||||
},
|
},
|
||||||
handleTitleMouseenter() {
|
handleTitleMouseenter() {
|
||||||
if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return;
|
if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return;
|
||||||
|
|
|
@ -4,4 +4,10 @@ import { ElementUIComponent } from './component'
|
||||||
export declare class ElSubmenu extends ElementUIComponent {
|
export declare class ElSubmenu extends ElementUIComponent {
|
||||||
/** Unique identification */
|
/** Unique identification */
|
||||||
index: string
|
index: string
|
||||||
|
|
||||||
|
/** Delay time before show a sub-menu */
|
||||||
|
showTimeout: number
|
||||||
|
|
||||||
|
/** Delay time before hide a sub-menu */
|
||||||
|
hideTimeout: number
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue