0
次のコードスニペットがあります。私は配列viewModel.customers
をフィルタリングし、UIを更新しようとしています。ただし、UIは更新されず、エラーは表示されません。注記:配列のすべてのプロパティが観測可能です。コードの下にあるTeeは、はるかに大きなビューモデルの小さなカットです。ko.utils.arrayFilterを適用した後にUIを更新します。
<div class="row" data-bind="visible: customers().length > 0">
<div class="col-sm-4 col-lg-offset-8">
<div class="input-group">
<input type="text" class="form-control" placeholder="Filter Result"/>
<span class="input-group-btn">
<button class="btn btn-danger" type="button" data-bind="click: filterCustomers">Filter</button>
</span>
</div>
</div>
</div>
var viewModel = {
PageName: "Editor",
textFilter: ko.observable(), // property to store the filter
customers: ko.observableArray([]),
};
viewModel.filterCustomers= function() {
return ko.utils.arrayFilter(viewModel.customers(), function (item) {
return item.CustomerNumber().toLowerCase() === viewModel.textFilter().toLowerCase();
});
};