0

我已将 ng-select 用于多个选项,我想在 ng-select 上填充一些值。我已经在 ngmodel 中传递了数组值,但它不起作用。请指导实现这一点

这是我的代码

公司Arr = [10];公司列表 = 数组

<ng-select [items]="companyList" bindLabel="brand_name" bindValue="id"
                                    [multiple]="true" [(ngModel)]="companyArr" (change)="onSelectCompany($event)" name="companyArr"   [ngClass]="{ 'is-invalid': f.submitted && companyArr.invalid }" required> 
                                </ng-select>
4

2 回答 2

0

您的问题的解决方案在于bindValue属性。根据 Ng-select 文档[1]:

用于选定模型的对象属性。默认情况下绑定到整个对象。

因此,为了在多个 ng-select 输入中填充和显示数据,此属性需要为,因为您绑定到整个对象(在本例中为您的数字数组)。

这是您的解决方案:

<ng-select 
    [items]="companyList" 
    bindLabel="brand_name" 
    bindValue=""
    [multiple]="true" 
    [(ngModel)]="companyArr" 
    (change)="onSelectCompany($event)" 
    name="companyArr"
    [ngClass]="{ 'is-invalid': f.submitted && companyArr.invalid }" 
    required> 
</ng-select>

[1]:ng-select GitHub 文档(https://github.com/ng-select/ng-select#api

于 2019-03-10T14:03:45.443 回答
0

如果您想获得通过多个选项选择的值,那么您需要将 [value] 存储在一个 obj 中,然后您可以将其绑定到打字稿中......在我的情况下,我想要一个员工的名字和姓氏是不同的领域。所以我在 obj 中获取值,然后在 typescript 中将它们连接起来,所以我得到了我选择的员工姓名为“Fistname Lastname”......

于 2019-05-31T09:36:08.067 回答