[英]angular material mat-checkbox binding problem
我正在为复选框使用 angular 材料。
在组件.ts
dataList: any[] = [
{ name: 'EmployeeName', flag: true, 'label': 'Employee Name'},
{ name: 'EmployeeDepartment', flag: false, 'label': 'Employee Department'},
{ name: 'EmployeeExperience', flag: false, , 'label': 'Employee Experience'}
]; // will have 30+ element in array
html(以模式打开)
<div *ngFor="let data of dataList">
<section>
<mat-checkbox [checked]="data.flag" (change)="onChange($event, data)">{{data.label}}</mat-checkbox>
</section>
</div>
<div>
<button (click)="onClose()">
Close
</button>
<button(click)="onApply()">Apply</button>
</div>
一些复选框将被预先选中,如果选中而不是在模态后面,我们将筛选下拉列表以选中 object。
问题是,如果我检查对象(例如员工部门),那么对象(员工部门)将立即添加到模态后面,并且 UI 中的更改将是可见的。 我想要的是仅在单击“应用”按钮后添加过滤器 object(用户一次可以 select 多个 object)并且 UI 中的更改应该可见。 如果我单击关闭,则不应添加任何内容。
html 用于后面的模态页面
//<ngx-select-dropdown> whole config is not listed
<div class="grid-container">
<ng-container *ngFor="let data of dataList">
<div class="grid-item" *ngIf="data.flag">
<div>
<p>{{data.name }}</p>
</div>
<ngx-select-dropdown [config]="config">
</ngx-select-dropdown>
</div>
</ng-container>
</div>
我尝试将复选框值保留在另一个 object 中,并仅在单击应用时设置值,但问题仍然存在。 我应该在onChange($event, data)和onApply()中做什么,以便实现我想要的行为。
提前致谢
您可以简单地将复选框值保存在另一个 object 中,一旦用户点击应用按钮,然后让您的 function 例如onApply()
将复选框中的新值分配给您的数据
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.