我有一个纸质列表框,其中包含列表中每个纸张项目中的纸张复选框。
<paper-listbox id="groupMembers" multi attr-for-selected="label">
<template is="dom-repeat" items="[[users]]" as="member">
<paper-item label="[[member.user]]">
<span class="member-user">[[member.user]]</span>
<paper-checkbox checked="[[member.isManager]]"></paper-checkbox>
</paper-item>
</template>
</paper-listbox>
每当单击该复选框时,它也会更改列表框项目的选定状态,从而导致选择或取消选择纸质项目。
如何防止这种情况?
答案 0 :(得分:1)
paper-listbox
使用Polymer.IronSelectableBehavior
和Polymer.IronMultiSelectableBehavior
。因此,您可以使用selectable
属性以防止更改所选状态。
selectable
是一个CSS选择器字符串。如果设置了此选项,则只能选择与CSS选择器匹配的项目。您可以放置一个随机字符串,使其不会与paper-item
元素匹配。
答案 1 :(得分:0)
我通过避免它解决了问题;)
将复选框从纸张项目中移出到dom-repeat中,如下所示:
<paper-listbox id="groupMembers" multi attr-for-selected="label">
<template is="dom-repeat" items="[[users]]" as="member">
<paper-item label="[[member.user]]">
<span class="member-user">[[member.user]]</span>
</paper-item>
<div class="checkWrapper">
<paper-checkbox checked="[[member.isManager]]"></paper-checkbox>
</div>
</template>
</paper-listbox>
有点CSS定位魔法有效。添加了一个包装div以允许绝对定位。