【发布时间】:2018-04-16 10:16:51
【问题描述】:
使用primeng 创建了多选下拉选项,选项值从它在多选中列出的服务创建。
ngModel 必须更新,并且必须在多选下拉菜单中选择多选。
这是从数据集得到的响应。
this.users = [{
"id": 1,
"name": "Ram",
"emp_code": "121",
"dpt_id": 1,
"skills": [{id:1, rate:1} , {id:2, rate:4}, {id:4, rate:5} ]
},
{
"id": 2,
"name": "Vijay",
"emp_code": "1212",
"dpt_id": 1,
"skills": [{id:1, rate:1} , {id:2, rate:4}, {id:4, rate:5} ]
},
{
"id": 3,
"name": "govind",
"emp_code": "1214",
"dpt_id": 1,
"skills": [{id:1, rate:1} , {id:2, rate:4}, {id:4, rate:5} ]
}]
下面是多选
this.skills = [{
"id": 1,
"name": "php",
"cat_id": [1]
},
{
"id": 2,
"name": "java",
"cat_id": [1]
},
{
"id": 3,
"name": "python",
"cat_id": [1]
},
{
"id": 4,
"name": "css3",
"cat_id": [2]
}]
创建技能选项格式
this.skill.push({ label: skill.name, value: skill.id });
下面的 html 用于显示多选,如何从 users.skills 变量中设置 ngModel 值,因为它也有 rate 值,而无需循环和创建变量。
<p-multiSelect [options]="skill" [style]="{'width':'100%'}" [(ngModel)]="users.skills"></p-multiSelect>
【问题讨论】:
-
你试过 users.skills.id 吗??
-
TypeError: 无法读取未定义的属性“id”