Установить элемент управления формы, удерживающий множественный выбор в мат, выберите значение null

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

      reset(){
    this.form.reset();
    return false
    }

this.form = this.formBuilder.group({
      category: [''],
});

В шаблоне

      <mat-form-field appearance="outline">
                        <mat-label>Categories</mat-label>
                        <mat-select formControlName="category" multiple>
                          <mat-select-trigger>
                        <mat-icon matPrefix *ngIf="f['category'].value" (click)="clearCategory($event)"
                         class="icon" title="clear">clear</mat-icon>
                            {{f['category'].value ? f['category'].value[0] : ''}}
                            <span *ngIf="f['category'].value?.length > 1" class="example-additional-selection">
                              (+{{f['category'].value.length - 1}} {{f['category'].value?.length === 2 ? 'other' : 'others'}})
                            </span>
                          </mat-select-trigger>
                          <mat-option #allSelectedCategories (click)="toggleAllCategories()" [value]="0" >
                              All Categories (default)
                          </mat-option>
                          <mat-option *ngFor="let category of categories" 
                          (click)="toggleOnCategory(allSelectedCategories.viewValue)"
                          [value]="category">{{category}}</mat-option>
                        </mat-select>
                      </mat-form-field> 

при нажатии кнопки сброса значения категории не очищаются из значения формы, а только из поля ввода

       <button type="reset" mat-raised-button (click)="reset()" 
                      style="margin-right: 5px;">
                        Reset
                    </button>

2 ответа

.reset()не удаляет значения из элементов управления формы. Он сбрасывает значения элементов управления до тех, которые были до внесения изменений . Это работает одинаково в Angular (во всех вариациях, например FormControl.reset(), NgForm.resetForm()и т. д.) и на чистом JavaScript.

Вы хотите, чтобы кнопка снимала все флажки с множественным выбором? Другими словами, пользователь проверяет несколько, а вы хотите сбросить их, чтобы они не проверялись?

Попробуй это:

selectedOptions = [];

Другие вопросы по тегам