我想要下拉列表值选择更改的控制。我想停止在下拉列表中所选值更改。
我在其触发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中触发更改检测。