[英]Clear All button on primeng multi-select
您好,我正在開發 Angular4 應用程序,對於 UI,我正在使用 Primeng。
我有一個多選元素,它的行為與這里的行為幾乎相同https://www.primefaces.org/primeng/#/multiselect
我唯一想要不同的是在下拉菜單上,當單擊“X”(關閉)按鈕時,我希望它清除所有選擇而不是關閉下拉菜單本身。
有什么辦法可以在 primeng 中實現這一目標嗎?
感謝幫助!
您可以通過jquery手動觸發左側的復選框。
聲明 var jquery:any;
聲明 var $ :any;
$('.ui-chkbox-box.ui-widget.ui-corner-all.ui-state-default').trigger('click')
或者您使 p-multiselect 的值等於 []。
例如。
//html
<p-multiSelect #multiselect>
<button type="button" (click)="functionToClear(multiselect)"</button>
</p-multiselect>
//ts
functionToClear(multiselect): void {
multiselect.value = [];
}
這是不可能的,但您可以通過單擊左角的復選框兩次來清除所有選擇。
雖然它不是 Multiselect PrimeNg 組件支持的功能,但如果您真的希望它這樣做,則必須手動編輯組件multiselect.js
並修改close(event)
函數以執行您想要的操作。
您可以使用 formGroup 並嘗試通過以下方式清除值:
html:
<ng-multiselect-dropdown [(ngModel)]="data"
[data]="fetchedData" [settings]="customeSettings"
formControlName="myControl">
</ng-multiselect-dropdown>
.ts:
this.form_name.controls.myControl.setValue("");
通常,primeng 中的多選輸入綁定到一個包含所選成員的屬性,通常是一個數組。
您可以使用重置按鈕,例如,當單擊時,它將清空該屬性/數組,這將清除多選的所有選定復選框。
從 PrimeNg 版本 13 開始,您可以使用[showClear]="true"
屬性在控件值旁邊顯示一個“X”圖標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.