【问题标题】:Set dropdown list default value or use value from model设置下拉列表默认值或使用模型中的值
【发布时间】:2023-03-18 21:50:01
【问题描述】:

我有一个使用外部表单进行编辑/添加的网格。我以this 为例。该表单有一个下拉列表。 [data] 来自具有textvalue 的对象列表。

这两件事我都试过了,但都失败了:

  • 设置下拉列表的默认值。我设法做的就是在下拉列表中插入一个重复的行,这确实被选中了,但它也出现了两次。我在执行此操作时查看了this 示例。对象列表的第二个示例。
  • 在网格中添加新行时,请在模型本身上设置默认值(对于相同的下拉菜单)。结果是为下拉菜单设置的值被完全忽略。

有人可以给我一个例子吗?谢谢。

我尝试的第一件事的代码:

public arrayOfObjects:Array<SomeClass> = [
    SomeClass.staticList.object1,
    SomeClass.staticList.object2,
    SomeClass.staticList.object3,
    SomeClass.staticList.object4
];

defaultObject:SomeClass = SomeClass.staticList.object2 //I want the second as default.

模板中的下拉菜单使用这些:

    <kendo-dropdownlist formControlName='theObject'
        [data]="arrayOfObjects" 
        [textField]="'text'"
        [valueField]="'value'"
        [valuePrimitive]="false"
        [defaultItem]='defaultObject'
        [(ngModel)]="theObject" >

下拉内容:

  • 对象2
  • 对象1
  • object2(两次是)
  • 对象3
  • 对象4

我尝试过的第二件事的代码:

public addHandler() {
    var newRow = new RowModel();
    newReport.theObject = SomeClass.staticList.object2;
    this.editDataItem = newRow;

    this.isNew = true;
}

在这种情况下什么都不会发生。下拉菜单仍然为空。

解决方案

问题是我没有用于 ngModel 的单独变量。出于某种原因,我认为如果我为 ngModel 指定 FormControl 的名称,它将神奇地起作用。它没有。所以我只是创建了一个单独的变量来保存当前选择的值并且它可以工作。谢谢。

【问题讨论】:

  • 您能否在plnkr.co 提供您的代码的复制品?这样可以更轻松地为您提供帮助

标签: angular kendo-ui-angular2


【解决方案1】:

DropDown 的defaultItem 设置用于添加填充物,以防列表中未选择任何项目,例如“选择项目...”。

要完成你想做的事情,试试这个:

<kendo-dropdownlist
    [data]="listItems"
    textField="text"
    valueField="value"
    [(ngModel)]="selectedItem"
>

public listItems = [
    { text: "Option1", value: 1 },
    { text: "Option2", value: 2 },
    { text: "Option3", value: 3 }
];

public selectedItem = this.listItems[1];

【讨论】:

  • 感谢这确实有效。我为 selectedItem 创建了一个单独的属性,它现在可以工作了。谢谢。
  • 独立属性是什么意思。您的意思是为 listItems 中的每个对象添加 selectedItem 属性吗?
  • 他的意思是向组件添加一个属性 (selectedItem) 来存储当前选定的项目,就像在我的示例中一样。他使用作品“单独”表示该物业将专门用于此用途。
猜你喜欢
  • 2013-10-23
  • 2020-07-06
  • 2013-11-23
  • 2011-06-14
  • 2016-09-16
  • 1970-01-01
  • 2014-07-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多