淘汰赛 - 使用新列表更新下拉列表

Knockout - Update dropdownlist with new list

这是我的 HTML

<select id="masterLibrary" data-bind="options: libraries, value: library"></select>

在class中:

libraries: string[];
library: KnockoutObservable<string>;
this.libraries= data.libraries.map(x => x.name);
this.library = getLibraryName(data.libraryId);

更改城市下拉列表后,我想用所选城市更新库。

this.city.subscribe(name => {
    DataService.instance.get('city/' + this.name(), (data): any => {
        this.libraries = data.libraries.map(x => x.name);
    });
});

我正在获取数据,但是 UI 下拉菜单没有更新数据

可能是因为库不是 observableArray,它只是一个普通的字符串数组,因此任何更新都不会反映在页面上。如果是这种情况,那么您还需要在城市发生变化时更改加载库的方式 observeableArray