Обработчик события триггера кнопки «Очистить» в кендо Шаблон меню Фильтр угловой сетки - PullRequest
0 голосов
/ 04 февраля 2019

Я реализовал kendoGridFilterMenuTemplate в Kendo Angular Grid.

<kendo-grid-column
   field="orderStage"
   title="Order Stage"
   width="110px">
                  <ng-template
                    kendoGridFilterMenuTemplate
                    let-filter="filter"
                    let-column="column"
                    let-filterService="filterService"
                  >
                    <kendo-multiselect
                      [data]="orderStageData"
                      [(ngModel)]="orderStagesSelected"
                      (valueChange)="multiSelectChange($event,filterService,'orderStage')"
                    >
                    </kendo-multiselect>
                  </ng-template>
                </kendo-grid-column>

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

enter image description here

1 Ответ

0 голосов
/ 04 февраля 2019

В соответствии с эта кнопка сброса вызывает событие valueChange, поэтому вы можете проверить на multiSelectChange, если значение равно нулю, и запустить свой код

ОБНОВЛЕНИЕ

отметьте это stackblitz

private previousCategoryFilter: CompositeFilterDescriptor[] = [];

public filterChange(filter: CompositeFilterDescriptor): void {
    let catFilter = filter.filters.map((f: CompositeFilterDescriptor) => {
      return f.filters.find((f: FilterDescriptor) =>
        f.field === 'CategoryID'
      ) as CompositeFilterDescriptor
    })

    console.log("catFilter", catFilter)
    console.log("this.previousCategoryFilter", this.previousCategoryFilter)


    if (this.previousCategoryFilter.length = 0 && catFilter.length > 0) {
      console.log("save value")
      this.previousCategoryFilter = catFilter
    }
    else if (this.previousCategoryFilter.length > 0 && catFilter.length === 0) {
      console.log("clear")
      this.previousCategoryFilter = []
    }
}

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

...