knockout.js knockout -使用foreach将选中的复选框置于列表顶部

cclgggtu  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(153)
<div data-bind="foreach: lists">
    <div class="checkbox list-item">
        <label>
            <input type="checkbox" data-bind="checked: isSelected, click: $parent.list, disable: $parent.disableInput()"/> <span data-bind="text: note">
        </label>
    </div>
</div>

我试着将选中的复选框移到顶部。当我单击未选中的复选框时,它需要移到顶部。当我单击选中的复选框时,它需要移回底部。

jdgnovmf

jdgnovmf1#

你需要一个中间对象来保存排序后的列表。

const sorted_lists = ko.pureComputed(() => {
    return lists.sort(a => a.isSelected ? -1 : 0);
});

然后将foreach指向计算出的值:<div data-bind="foreach: sorted_lists">...

相关问题