Как сбросить ng-multiselect-dropdown - PullRequest
0 голосов
/ 02 ноября 2018

Я хочу сбросить ng-multiselect-dropdown. Нужно ли указывать его в форме?

код -

app.component.html

<div>
  <p id = "node">Select a Root API Object - </p>
  <p style="width:50%">
    <ng-multiselect-dropdown [placeholder]="'Select Root API Object'" [data]="dropdownListRoot" [(ngModel)]="selectedItemsRoot" [settings]="dropdownSettingsRoot"
      (onSelect)="onItemSelectRoot($event)" (onSelectAll)="onSelectAllRoot($event)">
    </ng-multiselect-dropdown>

  </p>
</div>

app.component.ts

 export class HierarchySearchComponent implements OnInit {

 onItemSelectRoot(item: any) {
    this.onlyRootItemSelect = true;  // for cypher also.


    console.log(item); 
    this.rootItem = item;
    this.nodeSelect = true;

    this.rootItemText = this.rootItem.item_text;
    console.log("this.rootItemText = ", this.rootItemText);

  }


  onSelectAllRoot(items: any) {
    console.log("On Item select all" + items);
    this.nodeSelect = true;
  }

}

Ответы [ 3 ]

0 голосов
/ 02 ноября 2018

нет необходимости ставить его в форме. Просто сделайте массив selectedItemsRoot пустым. Вызовите эту функцию resetSelection () из элемента / контекста. если вы используете кнопку для отмены выбора, это может быть

.html

`<button (click)="resetSelection()" >clear</button>`

.ts

resetSelection() {
this.selectedItemsRoot = [];        
}
0 голосов
/ 06 июля 2019

если вы используете formControlName вместо ngModel, вы можете использовать что-то вроде этого

this.myForm.get(formControlName).setValue([]);
0 голосов
/ 02 ноября 2018

Нет необходимости указывать его в форме - если вы хотите очистить выбранные элементы, просто установите для объекта selectedItemsRoot пустой массив. То есть

clearSelection() {
    this.selecteditemsRoot = [];
}

И привяжите эту функцию к кнопке или вызовите ее любым другим методом, который вы используете для очистки выбора.

...