在Knockout.js中,如何在映射后基于复选框字段对viewModel项进行排序

bcm*_*bcm 1 javascript javascript-framework knockout.js

数据示例,其中VoucherRedeemed是一个checkbox值:

{
 VoucherTitle: "title 2",
 VoucherRedeemed: false,
},{
 VoucherTitle: "title 4",
 VoucherRedeemed: true,
},{
 VoucherTitle: "title 6",
 VoucherRedeemed: false,
},{
 VoucherTitle: "title 9",
 VoucherRedeemed: true,
}
Run Code Online (Sandbox Code Playgroud)

在映射之后,如何根据复选框值对viewModel.voucher进行排序:

viewModel.voucher = ko.mapping.fromJS(voucherData.voucher)
Run Code Online (Sandbox Code Playgroud)

我已经看过对可观察数组进行排序,但没有设法与复选框值排序的映射方案相关联.(http://knockoutjs.com/documentation/observableArrays.html)

任何关于如何在ko.mapping.fromJS之后对数组进行排序的示例将不胜感激!

Mau*_*ler 6

您可以在填充视图模型后进行排序.

看看我在这里放置的小提琴Knockout Sort Example

您需要在observable上调用sort方法传递函数以对所需的属性进行排序.