淘汰赛 - 使用foreach将检查复选框带到列表之上

发布于 2025-02-09 12:05:48 字数 411 浏览 1 评论 0原文

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

我尝试进行检查复选框以移至顶部。当我单击未选中的复选框时,它需要在顶部移动。当我单击检查复选框时,它需要向后移动。

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

I tried to do the checked checkboxes to move on top. When I click the unchecked checkbox, it needs to move on top. When I click the checked checkbox, it needs to move back down.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

话少情深 2025-02-16 12:05:48

您将需要一个中间对象来保存排序列表。类似:

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

然后,您将指向此计算值:
&lt; div data-bind =“ foreach:sorted_lists”&gt; ...

You're going to need an intermediate object to hold the sorted list. Something like:

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

Then you point your foreach to this computed value:
<div data-bind="foreach: sorted_lists">...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文