关闭对话框时,复选框未选中-角度

时间:2019-06-28 15:41:33

标签: angular angular-material

我有一个Mat Table,其中有一个操作列。 “操作”列是一个打开dialog box的按钮。

STACKBLITZ

dialog box内,我还有另一个带有checkbox的桌子。当我做出选择(将一行标记为checked)并关闭dialog box时,当我返回同一行时,选择消失了。重置。如何预防呢?

我创建了一个stackblitz示例来尝试操作。

1 个答案:

答案 0 :(得分:1)

我认为您所要实现的数据结构不是正确的。这是您的数据行:

{ role: 'role1', ols: ['ols1', 'ols2'] },

您怎么知道,选择了ols,没有选择?

我会将您的数据结构更改为以下内容:

{
    role: 'role1', ols: [
        {
            name: 'ols1',
            selected: false
        },
        {
            name: 'ols2',
            selected: false
        }
    ]
}

然后将mat-checkbox的绑定绑定更改为ngModel,这样就变成2种方式,并删除其他所有内容:

<mat-checkbox
   [(ngModel)]="row.selected">
</mat-checkbox>

看看this StackBlitz的插图。