Html 如何使用ngModel和ngModelChange angular 4更改下面的数组列表
我有两个数组列表,它们彼此不同,在顶部我有一个下拉列表,它将更新下面的列表。 如果单击OrgItem,则显示orgItems如果单击valueIte,则显示valueItem的列表 在onOrgItemFilterChanged的控制台日志中,当我从OrgItem更改为ValueItem或从VI更改为Org时,它正在工作,并显示列表已更改,但在UI中没有更改 这是我的便签Html 如何使用ngModel和ngModelChange angular 4更改下面的数组列表,html,angular,typescript,Html,Angular,Typescript,我有两个数组列表,它们彼此不同,在顶部我有一个下拉列表,它将更新下面的列表。 如果单击OrgItem,则显示orgItems如果单击valueIte,则显示valueItem的列表 在onOrgItemFilterChanged的控制台日志中,当我从OrgItem更改为ValueItem或从VI更改为Org时,它正在工作,并显示列表已更改,但在UI中没有更改 这是我的便签 <app-dropdown label="{{'general.#choose'|translate}} Array"
<app-dropdown label="{{'general.#choose'|translate}} Array" orientation="left" labelWidth="125px" optionWidth="150px" [(ngModel)]="filterArray" [items]="arrayType" (ngModelChange)="onOrgItemFilterChanged()"></app-dropdown>
@Chellappan重新创建stackblitz更为复杂:(Yeap ngModelChange它触发了onOrgItemFilterChanged()并告诉mme第一个和第二个中的内容取决于下拉列表中的内容clickedi不了解子组件中的ngModelChange如何工作?您建议我怎么做,因为下拉列表创建得像组件,所以我可以在任何地方使用。是否可以添加应用程序下拉组件代码和一些sa样本数据
<div *ngFor="let valueItem of isArray() ? visibleAvailableOrgItem : visibleAvailableValueItems">
<div class="unAssignedVIs" [ngClass]="{'active': valueItem.checked, 'unAssignedVIs': true}">
{{valueItem.name}}
</div>
</div>
filterArray = 'ValueItem';
visibleAvailableValueItems: ValueItem[] = [];
visibleAvailableOrgItem: OrganizationItem[] = [];
arrayType: DropdownOption[] = [
{ key: 'ValueItem', value: 'ValueItem', selected: false},
{ key: 'OrgItem', value: 'OrgItem', selected: false}
];
isArray(any): void {
}
onOrgItemFilterChanged(resetSelected = true) {
if (this.filterArray === 'OrgItem') {
this.visibleAvailableOrgItem = this.orgItem.toArray();
} else if (this.filterArray === 'ValueItem') {
this.visibleAvailableValueItems = this.valueItems.filter(vis => vis.level === 7).toArray();
}
}