kendo angular 下拉菜单以编程方式设置值

kendo angular dropdown setting a value programmatically

使用 kendo angular 下拉菜单, 我可以设置数据和默认值,但出于某种原因,稍后从可用选项中设置值不起作用?

我有一个基本的数据模型 {id:x, value:y}。 初始化下拉列表后设置值的正确代码是什么?

使用最新版本的 angular 和 kendo。

初始化值:

public areaModel: {id:number, value: string}

然后我尝试将其设置为:

this.areaModel = {id: data.site.siteId, value: data.site.siteName}

实际下拉列表是:

<kendo-dropdownlist [data]="area" [(ngModel)]="areaModel" [textFIeld]="value" [valueField]="id"></kendo-dropdownlist>

请忽略拼写错误,因为我每年都会输入此代码 - 代码在一个封闭的系统中。

此外,其他一切正常'我可以设置数据,我可以获取选定的值。

正确的语法应该是:

<kendo-dropdownlist [data]="area" [(ngModel)]="areaModel" textField="value" valueField="id"></kendo-dropdownlist>

您还可以使用值 属性 设置任何类型的 Kendo 下拉列表的值。例如对于 Kendo 下拉列表,它是这样工作的:

<kendo-dropdownlist [data]='area' formControlName='area' [value]='area[0]'></kendo-dropdownlist>

当然在这种情况下你必须确保你的区域数组中至少有一个元素。

我猜您已经查看了使用下拉菜单进行值绑定的文档,但为了以防万一,here it is

this.arrayname.find(x => x.value==api 值)

确保在声明组件的当前模块中导入 FormModule。即使在映射 [(ngModel)] 之后,初始选择也没有出现在 UI 中,直到我导入 FormModule。

import { FormsModule } from '@angular/forms';