angular - Angular 6 kendo-dropdownlist 有条件地设置 [valueField] 和 [textField]
问题描述
我在 Angular 6 项目中有一个 kendo-dropdownlist,它需要根据条件从两个不同的数据集填充。我很难弄清楚如何根据条件设置 [valueField] 和 [textField]
<kendo-dropdownlist id="UP_CM_IN" name="UP_CM_IN"
style="width:90%"
[(ngModel)]="SelectUP_CM_IN"
[defaultItem]="defaultUP_CM_IN"
[data]="UP_CM_IN"
[filterable]="true"
*ngIf="selectedCS=='CM' ? [valueField]='CD_IN': [valueField]='UP_IN'"
*ngIf="selectedCS=='CM' ? [textField]='CD_IN': [textField]='UP_IN'"
(valueChange)="handleUP_CM_INChange($event)"
(filterChange)="handleUP_CM_INFilter($event)">
</kendo-dropdownlist>
解决方案
我认为可能无法有条件地仅更改数据集..但是您可以做的是...使用不同的数据集创建2个下拉元素,并使用 *ngIf 指令有条件地在Dom上显示它们...
例子:
<kendo-dropdownlist *ngIf="selectedCS=='CM'" id="UP_CM_IN" name="UP_CM_IN"
style="width:90%"
[(ngModel)]="SelectUP_CM_IN"
[defaultItem]="defaultUP_CM_IN"
[data]="UP_CM_IN"
[filterable]="true"
[valueField]='CD_IN':
[textField]='UP_IN'"
(valueChange)="handleUP_CM_INChange($event)"
(filterChange)="handleUP_CM_INFilter($event)">
</kendo-dropdownlist>
<kendo-dropdownlist *ngIf="selectedCS!='CM'" id="UP_CM_IN" name="UP_CM_IN"
style="width:90%"
[(ngModel)]="SelectUP_CM_IN"
[defaultItem]="defaultUP_CM_IN"
[data]="UP_CM_IN"
[valueField]='CD_IN':
[textField]='UP_IN'"
[filterable]="true"
(valueChange)="handleUP_CM_INChange($event)"
(filterChange)="handleUP_CM_INFilter($event)">
</kendo-dropdownlist>
推荐阅读
- php - 如何使用outlook rest api访问outlook通讯录
- ubuntu-18.04 - 使用 Ubuntu 18.04 在 WSL 2 中未加载 ZFS 模块:modprobe: FATAL: Module zfs not found in directory /lib/modules/4.19.84-microsoft-standard
- php - 哪一个更适合在 PHP 中定义存储库接口?
- c# - 静态类初始化
- multithreading - Powershell Runspacepool - 为什么我不能从同步哈希表输出到 .txt 文件
- excel - 如何将工作簿设置为变量名?
- java - 使用完全自定义的多个规则对字符串列表进行排序
- pagespeed - 为什么即使在图像上添加延迟加载后 Google PageSpeed Insight 仍会在机会中显示一些图像
- javascript - ChartJS Javascript - 如何绘制堆积条形直方图但数据集大小未知
- android - React-native 一致的方式来制作动画视图以获得全高