gpt4 book ai didi

angular - 当设置了 Angular 的 ngModel 时,在 nb-select 中启用多项选择

转载 作者:行者123 更新时间:2023-12-05 05:59:02 25 4
gpt4 key购买 nike

<form #form="ngForm" (ngSubmit)="formSubmit(form.value)">
<nb-select name="select" ngModel multiple>
<nb-option value="1">Item 1</nb-option>
<nb-option value="2">Item 2</nb-option>
<nb-option value="3">Item 3</nb-option>
<nb-option value="4">Item 4</nb-option>
</nb-select>
</form>

当我将“多个”添加到 nb-select 时,出现以下错误:

ERROR Error: Uncaught (in promise): Error: Can't assign single value if select is marked as multiple

我不是 Angular 专家,所以我不确定,但我认为问题是因为 Angular 试图将值数组分配给字符串类型的变量。

如果我删除“多个”,它工作正常。此外,如果我删除“ngModel”,它不会抛出任何错误,但我无法在 formSubmit() 中访问它的值。

你能帮我解决这个问题吗?

谢谢。

最佳答案

reactive forms有效的方法。

在应用模块导入中:import { ReactiveFormsModule } from '@angular/forms';

添加到imports数组ReactiveFormsModule

改变你的html

<form [formGroup]="frm" (ngSubmit)="onSubmit()">
<nb-select formControlName="models" multiple>
<nb-option value="1">Item 1</nb-option>
<nb-option value="2">Item 2</nb-option>
<nb-option value="3">Item 3</nb-option>
<nb-option value="4">Item 4</nb-option>
</nb-select>
<button type="submit">Submit</button>
</form>

在 TS 文件中创建一个 FormGroup:

  frm: FormGroup;

constructor(fb: FormBuilder) {
this.frm = fb.group({
models: []
});
}

提交时:

  onSubmit() {
console.log(this.frm.value);
}

关于angular - 当设置了 Angular 的 ngModel 时,在 nb-select 中启用多项选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68283805/

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