gpt4 book ai didi

angular - 下拉变化-数据显示[object object]

转载 作者:行者123 更新时间:2023-12-05 03:01:56 28 4
gpt4 key购买 nike

我正在尝试将 JSON 数据绑定(bind)到下拉列表。OnChnge 函数我将值传递给相应的组件,当我调试它时显示 [object object]

我的 JSON 值

dataLists = [
{ 'id': 1, 'host_name': 'Service 1', 'port': '8090', 'username': 'user1', 'password': 'abc' },
{ 'id': 2, 'host_name': 'Service 1', 'port': '8090', 'username': 'user2', 'password': 'abc' },
{ 'id': 3, 'host_name': 'Service 1', 'port': '8090', 'username': 'user3', 'password': 'abc' }
];

html代码

<select #selectedData (change)="selected($event,selectedData.value)">
<option>Select....</option>
<option *ngFor="let dataList of dataLists" [value]="dataList">{{dataList.host_name}}</option>
</select>

组件代码

selected(ev: Event, data: any []) {
// console.log('data', data);
for (const ea of data) {
console.log(ea);

}

如何在组件中获取 json 格式的数据。像 { 'id': 1, 'host_name': 'Service 1', 'port': '8090', 'username': 'user1', 'password': 'abc' }

最佳答案

默认情况下,value 属性接受字符串值(将对象转换为字符串会得到 [object object])。要将对象用作值,请使用 ngValue接受任何类型作为值的属性。

<option *ngFor="let dataList of dataLists"  [ngValue]="dataList">{{dataList.host_name}}</option>

最终代码如下:

模板:

<select #selectedData (change)="selected($event,selectedData.value)">
<option>Select....</option>
<option *ngFor="let dataList of dataLists" [ngValue]="dataList">{{dataList.host_name}}</option>
</select>

TS:

selected(ev: Event, data: any) {
console.log(data);
}

关于angular - 下拉变化-数据显示[object object],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55350199/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com