Polymer 2.x 防止更改纸张列表框选择

Polymer 2.x 防止更改纸张列表框选择,polymer-2.x,Polymer 2.x,我得到了一个纸质列表框,列表中的每个纸质项目都包含一个纸质复选框 <paper-listbox id="groupMembers" multi attr-for-selected="label"> <template is="dom-repeat" items="[[users]]" as="member"> <paper-item label="[[member.user]]"> <span class=

我得到了一个纸质列表框,列表中的每个纸质项目都包含一个纸质复选框

<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>

[[member.user]]
无论何时单击该复选框,它都会更改列表框项目的选定状态,从而导致纸张项目变为选中或取消选中


如何防止这种情况发生?

纸质列表框
使用了
聚合物.IronSelectableBehavior
聚合物.IronSelectableBehavior
。因此,您可以使用
selectable
属性来防止更改所选状态

selectable
是一个CSS选择器字符串。如果设置了此选项,则仅可选择与CSS选择器匹配的项目。您可以放置一个随机字符串,使其与
纸张项目
元素不匹配


我通过避免它来解决这个问题;)

将复选框从纸张项目移动到dom中,重复如下操作:

<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>

[[member.user]]

有一点CSS定位的魔力。添加了一个包装器div以允许绝对定位。

谢谢您的回答,但这并不能解决我的问题。纸张项目必须是可选择的,但不能通过单击该项目内的复选框来更改纸张项目的选定状态。可能吗?@JoernTurner在你的问题中没有提到。