我只是想将下拉菜单中的数据与ngModel
. 当应用程序加载时我收到一个错误,这是有道理的。
browser_adapter.js:84 EXCEPTION: No value accessor for ''
这使我相信该错误源于ngModel
应用程序加载时最初未与任何数据绑定的事实。
我不是最擅长使用 Observables ......所以要小心。
部分 html 下拉列表
<p-dropdown [options]="actionsToTake" (onChange)="onToggleCreateActionInput()"
[(ngModel)]="action"></p-dropdown>
相关 TypeScript(排除导入)
export class ActionView {
public actionsToTake: SelectItem[] = [];
public action: Action = new Action();
constructor (private actionCreateService: ActionCreateService) {
// populate dropdown list (actionsToTake) with data from service call
this.actionCreateService.getActionFields().subscribe((resp) => {
for (let i = 0; i < resp.data.data.actionElm.length; i++) {
this.actionsToTake.push({label: resp.data.data.actionElm[i].name,
value: resp.data.data.actionElm[i].name});
}
});
}
public onToggleCreateActionInput = (action): void => {
// test if something in "action" exists, and then do something based on that
};
}
因此,当应用程序最初加载时,action
它是空的。我希望绑定到的空值ngModel
不会破坏应用程序,但也许我误解了错误。最终,我希望绑定所选项目,并且我认为克服此错误将使我达到这一点。