我在Knockout.js的observableArray中存储了一个对象数组,并且我试图将对象的属性之一绑定(bind)到optionsText元素的select绑定(bind)中,但是,这不起作用,选项不起作用正在显示。

observableArray最初为空白,并由AJAX请求填充:

self.currentPeople = ko.observableArray([]);

遵循AJAX请求,我可以对此进行console.log并收到以下回复:
console.log(self.currentPeople);
// Produces [Object, Object] where each of the objects have properties of `personId` and `personName`

但是我的选择下拉列表仍然没有填充:
<select class="large-3" data-bind="options: currentPeople, optionsText: 'personName', optionsValue: 'personId', optionsCaption: 'All',  value: currentPerson"></select>

仅出现“全部”。有任何想法吗?

最佳答案

如果console.log(self.currentPeople)显示了对象数组,则意味着您正在(错误地)使用赋值填充它,而不是将其作为函数调用。

填充为:

self.currentPeople(newData);

08-08 07:10