聚合物铁-select 在元素加载时触发
Polymer iron-select fires on element load
我在重复模板中有一个纸质下拉菜单,这个下拉菜单有一个 on-iron-select 事件,问题是每个元素加载时绑定的元素都会触发事件,如何才能我阻止了这个。
<paper-dropdown-menu label="Status" required >
<paper-menu selected="{{item.status}}" id="ddlStatus" attr-for-selected="value" on-iron-select="_statusChanged" class="dropdown-content">
<template is="dom-repeat" items="{{statusList}}">
<paper-item value="{{item}}">{{item}}</paper-item>
</template>
</paper-menu>
</paper-dropdown-menu>
经过几个小时的努力,我找到了一个解决方案,即不使用 on-iron-select 事件,而是使用 on-iron-activate 代替,这只会在项目为 selected 并且不会在填充下拉菜单并将默认项目设置为它时触发
您的解决方案将不起作用。iron-activate
似乎是在您打开选择器时调用,而不是在从下拉列表中选择新选项时调用。
假设,您当前选择的选项是 'Status1',而您选择了 Status2
。如果您使用 iron-select
,您将从 event.target.selected
获得的值是 Status2
。但是,如果您使用 iron-activate
,您将获得旧的选定值 Status1
。
我在重复模板中有一个纸质下拉菜单,这个下拉菜单有一个 on-iron-select 事件,问题是每个元素加载时绑定的元素都会触发事件,如何才能我阻止了这个。
<paper-dropdown-menu label="Status" required >
<paper-menu selected="{{item.status}}" id="ddlStatus" attr-for-selected="value" on-iron-select="_statusChanged" class="dropdown-content">
<template is="dom-repeat" items="{{statusList}}">
<paper-item value="{{item}}">{{item}}</paper-item>
</template>
</paper-menu>
</paper-dropdown-menu>
经过几个小时的努力,我找到了一个解决方案,即不使用 on-iron-select 事件,而是使用 on-iron-activate 代替,这只会在项目为 selected 并且不会在填充下拉菜单并将默认项目设置为它时触发
您的解决方案将不起作用。iron-activate
似乎是在您打开选择器时调用,而不是在从下拉列表中选择新选项时调用。
假设,您当前选择的选项是 'Status1',而您选择了 Status2
。如果您使用 iron-select
,您将从 event.target.selected
获得的值是 Status2
。但是,如果您使用 iron-activate
,您将获得旧的选定值 Status1
。