我正在开发我的第一个Nativescript应用程序,我选择了Angular作为框架。我在ListPicker组件上遇到了一个小问题。我能够用项目列表来呈现组件,并且可以初始设置selectedIndex;然而,当我稍后尝试以编程方式更改selectedIndex(例如,从0更改为2(时,UI中显示的值不会更新(在Android上测试(。令人惊讶的是,selectedIndexChange回调确实记录了正确的新selectedIndex。如何强制UI显示新selectedIndex的正确值?
ngZone.run
可用于帮助用户界面识别数据的变化:
import { NgZone } from "@angular/core";
export class TestComponent {
selectedIndex: number;
constructor(private ngZone: NgZone) {}
testMethod(pos: number): void {
this.ngZone.run(() => {
this.selectedIndex = pos;
});
}
}