Mat-Checkbox绑定模型可以是可选的还是空的?

问题描述 投票:0回答:1

大家好,我是一个新手,我创建了一个动态列表的复选框。因为有的时候我会从API中得到选择的值,我需要将其绑定到复选框中。因此,我将有如下的代码

<div *ngFor="let b of result?.category">
                        <mat-checkbox (change)="onChangeCheckbox($event)" [value]="b.RefAccess?.accessId"
                            [checked]="b.RefAccess?.selected" [(ngModel)]="b.BoRefAccess?.selected"
                            [ngModelOptions]="{standalone: true}">
                            {{b.BoRefAccess?.accessDesc}}
                        </mat-checkbox>
                    </div>

Error "Empty expressions are not allowed ng , Parser Error: The '?.' operator cannot be used in the assignment at column 25 in [b.BoRefAccess?.selected=$event] in..."

我现在的主要问题是ngModel绑定不能是可选的,但我需要它是可选的,因为有的时候API会给我null list item。所以我不知道该如何处理它。

我还遇到了另一个方法,它可以跟踪onChange事件,但它只包括被onChanged的复选框,那些被选中的复选框不包括在内。

javascript html angular typescript
1个回答
0
投票

elvis操作符不能用于赋值。你应该用更明确的方式声明它。

取而代之的是

[(ngModel)]="b.BoRefAccess?.selected"

使用

[ngModel]="b.BoRefAccess?.selected" (ngModelChange)="b.BoRefAccess.selected=$event"

0
投票

所以,我想也许你可以创建另一个变量来与ngModel绑定。在你创建的函数onChangeCheckbox中,如果b.RefAccess.selected的值与null不同,你可以更新它。

© www.soinside.com 2019 - 2024. All rights reserved.