我有一个下拉列表,当前以阵列方式显示对象。 JSON数据来自注入组件的服务。我根据iso_id过滤数据,并从下拉菜单中选择一个选项,显示过滤的数据。 我试图仅在选择相应选项后单击按钮(阵列)时才显示此数据。现在,从下拉菜单中选择一个选项显示数据,然后单击Array按钮使其消失。 如何将这些数据传递给按钮点击? 下面是一些示例代码 -如何将事件数据从下拉列表传递到按钮angular 2
HTML
<md-select [(ngModel)]="selectedISO" (ngModelChange)="onSelect(selectedISO)" placeholder="TSO" [(ngModel)]="containerDisplay" >
<md-option value="Charge Only" > Charge Only </md-option>
<md-option value="PJM" >PJM </md-option>
<md-option value="Not in ISO Market" > Not in ISO Market </mdoption>
<md-option value="UCSD"> UCSD </md-option>
</md-select>
<button md-button (click)="onClickArray(selectedISO)" [(ngModel)]="containerDisplay" ngDefaultControl>
Array
</button>
<div class="ui-ivs-container" *ngIf="containerDisplay" >
<div class="ui-ivs-resources">
<div *ngFor="let resource of isoToShow; let i = index;"
[ngClass]="{...}">
//Array of objects gets displayed//
</div>
</div>
我的TS文件看起来像这个 -
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss']
})
export class HomeComponent implements OnInit {
containerDisplay:boolean;
selectedISO;
constructor(private service: Service) {
this.isoToShow=this.isoArray; // gets populated by subscribing to service
}
onSelect(val){
console.log(val);
this.onClickArray(val);
}
onClickArray(val){
this.isoToShow=this.isoArray.filter(resource => resource.iso_id===val)
}
}
完美!正是我想要的!非常感谢你:) – Nitz1308
你现在可以upvote这两个答案,真的很感谢:) – Nehal
哦,我没有意识到这一点!完成:) – Nitz1308