我如何停止在Kendo/Angular中选择的价值变化的档案



我想要下拉列表值选择更改的控制。我想停止在下拉列表中所选值更改。

我在其触发ValueChange事件上有Kendo下拉列表。

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

这是我使用 changeTectorRef 从Kendo团队获得的解决方案。在重新分配 this.value 之前,称为 detectChanges 。ValueChange事件是无法预防的,您必须根据所需的组件手动重置组件的值

单击此处以获取示例

这不是最好的答案,我希望您能找到更好的答案,但它可以。

绑定:

<kendo-dropdownlist [value]="selectedVal"
  (valueChange)="valueChange($event)">

valuechange((代码:

public valueChange(value: any): void {
    let valToShow = this.selectedVal;
    this.newVal = value;
    setTimeout(() => {
      this.selectedVal = "changeToSomethingOther";
    }, 1);
    setTimeout(() => {
      this.selectedVal = valToShow;
    }, 1);
    this.open('dialog');
    this.log('valueChange', value);
  }

我正在做的是将偏斜的值更改为不同的事物,然后返回旧值,但是您必须在settimeout中触发更改检测。

最新更新