一键清除多select (angular primeng turbotable)
Clear multi-select with a button (angular primeng turbotable)
是否可以通过按钮远程清除一个多select(或多个多select)?我正在使用带有 turbo table
的 primeng multi-select
这个问题我见过几次,但没有 select 编辑的答案。
下面是我的多select:
<span *ngIf="col.field == 'Product'">
<p-multiSelect [options]="getUniques(col.field)"
(onChange)="dt.filter($event.value, col.field, 'in')">
</p-multiSelect>
</span>
这是我的按钮:
<p-button label="Clear All"
styleClass="ui-button-primary"
(click)="onResetAll($event, dt)">
</p-button>
这是方法,我尝试重置值,但似乎没有重置:
onResetAll(event, dt) {
dt.filter('', 'Product', 'contains');
}
下方为多选多选
首先设置视图子选择器#cmp
<p-multiSelect #cmp [options]="cars" appendTo="body"
(onChange)="table.filter($event.value, 'brand', 'in')">
</p-multiSelect>
在后面的代码中声明组件集
@ViewChildren('cmp') components: QueryList<MultiSelect>;
并更新您的按钮点击事件
onResetAll(event, dt) {
this.components['_results'].forEach(ds => {
ds.value = null;
ds.updateLabel();
});
dt.filter('', 'brand', 'contains');
}
演示 here
最简单的解决方案是:
this.form.get("formcontrolname").setValue([]);
是否可以通过按钮远程清除一个多select(或多个多select)?我正在使用带有 turbo table
的 primeng multi-select这个问题我见过几次,但没有 select 编辑的答案。
下面是我的多select:
<span *ngIf="col.field == 'Product'">
<p-multiSelect [options]="getUniques(col.field)"
(onChange)="dt.filter($event.value, col.field, 'in')">
</p-multiSelect>
</span>
这是我的按钮:
<p-button label="Clear All"
styleClass="ui-button-primary"
(click)="onResetAll($event, dt)">
</p-button>
这是方法,我尝试重置值,但似乎没有重置:
onResetAll(event, dt) {
dt.filter('', 'Product', 'contains');
}
下方为多选多选
首先设置视图子选择器#cmp
<p-multiSelect #cmp [options]="cars" appendTo="body"
(onChange)="table.filter($event.value, 'brand', 'in')">
</p-multiSelect>
在后面的代码中声明组件集
@ViewChildren('cmp') components: QueryList<MultiSelect>;
并更新您的按钮点击事件
onResetAll(event, dt) {
this.components['_results'].forEach(ds => {
ds.value = null;
ds.updateLabel();
});
dt.filter('', 'brand', 'contains');
}
演示 here
最简单的解决方案是:
this.form.get("formcontrolname").setValue([]);