1

モデルに監視可能な配列があり、ビュー内のdivのリストのみにバインドされています。そのリストの上にテキストボックスを作成して、ユーザーを除外します。たとえば、「admin」はユーザーのみを表示します。それらの中に名前adminがあります。

ノックアウトでそれを行うにはどうすればよいですか?元のユーザーリストはどこに保存すればよいですか?監視可能な配列をどのようにフィルタリングする必要がありますか?

私のモデルは次のようになります:監視可能な配列はusersWithGroupsです

var groupsViewModelClass = function () {
var self = this;
ko.mapping.fromJS({
    assignedPermissions: [],
    avilablePermissions: [],
    usersWithGroups: [],
    allGroups: []
}, {}, self);
}

ありがとう

4

1 に答える 1

2

ko.utils.arrayFilter機能が使えます

例:

//filter the items using the filter text
viewModel.filteredItems = ko.computed(function() {
    var filter = this.filter().toLowerCase();
    if (!filter) {
        return this.items();
    } else {
        return ko.utils.arrayFilter(this.items(), function(item) {
            return ko.utils.stringStartsWith(item.name().toLowerCase(), filter);
        });
    }
}, viewModel);

参照:http ://www.knockmeout.net/2011/04/utility-functions-in-knockoutjs.html

于 2012-06-03T08:45:58.613 に答える