fix dropdown menu click

pull/395/head
baiyaaaaa 2016-10-13 13:54:02 +08:00 committed by cinwell.li
parent 2f41d86d2e
commit d87cfd7ff7
4 changed files with 20 additions and 15 deletions

View File

@ -2,7 +2,7 @@
### 1.0.0-rc.7 ### 1.0.0-rc.7
*2016-XX-XX* *2016-10-13*
- Upload 新增 Data 属性支持额外数据的传输 - Upload 新增 Data 属性支持额外数据的传输
- DatePicker 修复 `$t` 报错 - DatePicker 修复 `$t` 报错

View File

@ -1,8 +1,18 @@
<template> <template>
<li class="el-dropdown-item"><slot></slot></li> <li class="el-dropdown-item" @click="handleClick"><slot></slot></li>
</template> </template>
<script> <script>
import emitter from 'element-ui/src/mixins/emitter';
export default { export default {
name: 'ElDropdownItem' name: 'ElDropdownItem',
mixins: [emitter],
methods: {
handleClick(e) {
this.dispatch('ElDropdownMenu', 'visible', [false]);
}
}
}; };
</script> </script>

View File

@ -66,15 +66,10 @@
triggerElm.addEventListener('mouseenter', show); triggerElm.addEventListener('mouseenter', show);
triggerElm.addEventListener('mouseleave', hide); triggerElm.addEventListener('mouseleave', hide);
let dropdown = this.$slots.dropdown[0]; let dropdownElm = this.$slots.dropdown[0].elm;
let insertHook = dropdown.data.hook.insert;
dropdown.data.hook.insert = (vnode) => { dropdownElm.addEventListener('mouseenter', show);
insertHook(vnode); dropdownElm.addEventListener('mouseleave', hide);
this.$nextTick(_ => {
vnode.elm.addEventListener('mouseenter', show);
vnode.elm.addEventListener('mouseleave', hide);
});
};
} else if (trigger === 'click') { } else if (trigger === 'click') {
triggerElm.addEventListener('click', handleClick); triggerElm.addEventListener('click', handleClick);
} }