Как я могу помешать выпадающему списку кендо изменить свое значение в событиях valueChange или selectionChange в angular 4+ - PullRequest
1 голос
/ 16 мая 2019

У меня есть раскрывающийся список кендо, я показываю диалоговое окно подтверждения диалога перед изменением значения раскрывающегося списка.Он работает нормально, но значение раскрывающегося списка изменяется, несмотря на то, что что-то делается в окне dailog. Как остановить изменение значения в раскрывающемся списке.

Мой раскрывающийся список с событием valueChange.

 <kendo-dropdownlist required [data]="responseTypes"
                                [defaultItem]="{responseTypeID: null, responseTypeName: 'Select Response Type'}"
                                [textField]="'responseTypeName'"
                                [valueField]="'responseTypeID'"
                                name="responseTypeId"
                                [(ngModel)]="selectedResponseType"
                                (valueChange)="responseTypeChange($event, this)"
                                #responseTypeIdVar="ngModel" class="form-control" style="width:180px;">

Метод responseTypeChange

public responseTypeChange(value: any, data: any): void {
    let changeResponseType: boolean = false; 
    if (this.oldResponseTypeValue != undefined) {
        const dialog: DialogRef = this.dialogService.open({
          title: "Primary Insights",
          content: "Changing response type will remove the options filled, Do you want to continue?",
          actions: [
            { text: "No" },
            { text: "Yes", primary: true }
          ],
          width: 520,
          minWidth: 250
        });

        dialog.result.subscribe((result) => {
          if ((result as any).text === "Yes") {
            //changeResponseType = true;
            this.initializeResponseType(value);
          }
          if ((result as any).text === "No") {
            //changeResponseType = true;
            this.selectedResponseType = this.oldResponseTypeValue;
            this.multipleChoiceResponse.multipleChoiceOptionsArray = data.multipleChoiceResponse.multipleChoiceOptionsArray;
          }
        });
      }
  }

...