此问题于2014年9月9日在Github回购中提出:
Whenever I select a menu item, and the menu disappears, the next time
I open the menu, my previous selection remains selected. This makes it
impossible to reselect the same menu item.
在核心菜单按钮下的评论中有一个实施的解决方案(9月19日):
There is now a stickySelection property that defaults to false.
因为它默认为false,所以我永远不需要设置它。但粘性行为仍然存在,我无法确定设置属性/属性的位置。这是菜单:
<core-menu-button>
<core-icon-button icon='more-vert'></core-icon-button>
<core-dropdown class='dropdown'>
<core-menu on-core-select='{{menuSelectHandler}}'>
<template repeat='{{menuItems}}'>
<core-item label='{{}}'></core-item>
</template>
</core-menu>
</core-dropdown>
</core-menu-button>
在两个菜单选项中,我想将菜单返回到&#34;没有选择。&#34;
答案 0 :(得分:1)
stickySelection
被重构时,core-menu-button
属性似乎已删除。我不确定这是否是故意的,所以我重新打开了原来的bug。
作为此时的解决方法,您可以侦听on-core-overlay-open事件(在菜单覆盖打开或关闭时触发)并手动清除选择。在标记中,添加事件侦听器并为菜单提供ID:
<core-menu-button on-core-overlay-open="{{menuOpen}}">
<core-icon-button icon='menu'></core-icon-button>
<core-dropdown class='dropdown'>
<core-menu id="menu" on-core-select='{{menuSelectHandler}}'>
menuOpen
方法如下所示:
menuOpen: function(e) {
if (! e.detail.opened) {
this.$.menu.selected = null;
}
}
(换句话说,你可以听core-overlay-close-completed
,当覆盖完成关闭时会被触发。我担心如果用户关闭并快速重新打开菜单会导致时间问题,但它不会出现在核心菜单按钮上出现问题,也许是因为关闭菜单没有延迟。)