Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 设置下拉列表默认值或使用模型中的值_Angular_Kendo Ui Angular2 - Fatal编程技术网

Angular 设置下拉列表默认值或使用模型中的值

Angular 设置下拉列表默认值或使用模型中的值,angular,kendo-ui-angular2,Angular,Kendo Ui Angular2,我有一个使用外部表单进行编辑/添加的网格。我用它作为起点的例子。表单有一个下拉列表。[数据]来自具有文本和值的对象列表 我尝试过这两件事,但都失败了: 设置下拉列表的默认值。我所能做的就是在下拉列表中插入一个重复的行,它确实被选中了,但也出现了两次。我在做这件事的时候看了一个例子。第二个例子是对象列表 在网格中添加新行时,请在模型本身上设置默认值(用于相同的下拉列表)。结果是为下拉列表设置的值被完全忽略 有人能给我举个例子吗?谢谢 我尝试的第一件事的代码: public arrayOfObj

我有一个使用外部表单进行编辑/添加的网格。我用它作为起点的例子。表单有一个下拉列表。
[数据]
来自具有
文本
的对象列表

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

  • 设置下拉列表的默认值。我所能做的就是在下拉列表中插入一个重复的行,它确实被选中了,但也出现了两次。我在做这件事的时候看了一个例子。第二个例子是对象列表
  • 在网格中添加新行时,请在模型本身上设置默认值(用于相同的下拉列表)。结果是为下拉列表设置的值被完全忽略
有人能给我举个例子吗?谢谢

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

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.
public addHandler() {
    var newRow = new RowModel();
    newReport.theObject = SomeClass.staticList.object2;
    this.editDataItem = newRow;

    this.isNew = true;
}
在这种情况下不会发生任何事情。下拉列表仍然为空

解决方案


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

下拉列表的
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];

公共列表项=[
{文本:“选项1”,值:1},
{文本:“选项2”,值:2},
{文本:“选项3”,值:3}
];
public selectedItem=this.listItems[1];

下拉列表的
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];

公共列表项=[
{文本:“选项1”,值:1},
{文本:“选项2”,值:2},
{文本:“选项3”,值:3}
];
public selectedItem=this.listItems[1];

您能否提供您的代码的副本?这使事情变得更容易帮助你。你能提供你的代码的复制品吗?这让事情变得更容易帮助你,谢谢,这确实有效。我为selectedItem创建了一个单独的属性,现在可以使用了。谢谢。你说的独立财产是什么意思。您的意思是为listItems中的每个对象添加selectedItem属性吗?他的意思是向将存储当前选定项的组件添加属性(
selectedItem
),如我的示例所示。他用作品“分开”来表示这片土地将专门用于这一用途。谢谢,这确实有效。我为selectedItem创建了一个单独的属性,现在可以使用了。谢谢。你说的独立财产是什么意思。您的意思是为listItems中的每个对象添加selectedItem属性吗?他的意思是向将存储当前选定项的组件添加属性(
selectedItem
),如我的示例所示。他使用“单独”这一作品表示该地产将专用于该用途。