我有用于绑定到结果表的视图模型。该视图动态呈现结果表,而无需任何先验的列数或列名知识,这很棒。类似于此处描述的内容,并且为了保持通用而不是特定于域的目的,我从此处回答的问题中修改了代码示例。
但是我需要添加一个过滤器行以允许用户进行过滤,我已经基于下面的代码中的列名添加了一行输入,并尝试将它们绑定到视图模型。将它们绑定到视图模型很重要,这样当我刷新网格时,视图模型就会知道所应用的任何过滤器。
我已经尝试了几件事
任何想法将不胜感激
非常感谢,埃德
JS
var VM = function () {
var self = this;
self.items = ko.observableArray();
self.filters = ko.observable({});
self.columnNames = ko.computed(function () {
if (self.items().length === 0)
return [];
var props = [];
var obj = self.items()[0];
for (var name in obj)
props.push(name);
return props;
});
};
var vm = new VM();
ko.applyBindings(vm);
vm.items.push({
'Name': 'John',
'Age': 25
});
vm.items.push({
'Name': 'Morgan',
'Age': 26
});
Run Code Online (Sandbox Code Playgroud)
查看:
<table>
<thead>
<tr data-bind="foreach: …Run Code Online (Sandbox Code Playgroud) knockout.js ×1