Nic*_*las 2 javascript kendo-ui drop-down-menu angular
我正在尝试使用Kendo UI创建一个下拉列表,除了在屏幕加载时具有默认选择值之外,它工作得很好.
根据他们的文档,我的代码应如下所示:
HTML:
<kendo-dropdownlist formControlName="description"
[data]="definitionData.Languages"
[(ngModel)]="languageValue"
[textField]="'Value'"
[valueField]="'Key'"
[value]="2"
[valuePrimitive]="true">
</kendo-dropdownlist>
<span class="left col-xs-6">
<input type="text" id="descriptionField" class="form-control" [value]="getValue(descriptionForm.controls.description.value)" #descriptionField (blur)="updateDescriptionValue(descriptionField.value, languageValue)" />
</span>
Run Code Online (Sandbox Code Playgroud)
零件:
public descriptionForm: FormGroup = new FormGroup({
description: new FormControl()
});
Run Code Online (Sandbox Code Playgroud)
我的下拉列表有效,但加载页面时默认选中的值为空白,它应该是对象 Key: 2
注意:我不想使用,[defaultItem]因为它只会复制该项目,这意味着它将在下拉列表中2次.
我尝试了很多东西,但我无法弄清楚我应该做些什么!
提前致谢
你应该选择value和ngModel绑定.来自文档:
DropDownList不支持同时使用
value属性和ngModel值绑定.
value物业解决方案:
ngModel从HTML中删除.valueChange事件并在模型中设置值.HTML:
<kendo-dropdownlist formControlName="description"
[data]="definitionData.Languages"
(valueChange)="handleValue($event)"
[textField]="'Value'"
[valueField]="'Key'"
[value]="2"
[valuePrimitive]="true">
</kendo-dropdownlist>
Run Code Online (Sandbox Code Playgroud)
零件:
handleValue(value) {
this.languageValue = value;
}
Run Code Online (Sandbox Code Playgroud)
ngModel物业解决方案:
value从HTML中删除.HTML:
<kendo-dropdownlist formControlName="description"
[data]="definitionData.Languages"
[(ngModel)]="languageValue"
[textField]="'Value'"
[valueField]="'Key'"
[valuePrimitive]="true">
</kendo-dropdownlist>
Run Code Online (Sandbox Code Playgroud)
零件:
constructor(){
this.languageValue = 2;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4194 次 |
| 最近记录: |