Angular 6:从 SelectionModel 中检索数据

jij*_*ijo 4 arrays typescript angular

我有一个组件,它有一个带有复选框的 mat-table,使用 SelectionModel。这是我必须检索所选数据的代码。

fileSelect = new SelectionModel<FileInfo>(true, []);
Run Code Online (Sandbox Code Playgroud)

该方法在表单的 ngSubmit 中调用。

sendFileInterrupt() {
 let selectedFileIds: string[];
    for (let item of this.fileSelect.selected) {
      console.log(item.fileId);
      selectedFileIds.push(item.fileId);
    }
Run Code Online (Sandbox Code Playgroud)

选定的 fileId 已登录到控制台,但是在尝试将其添加到 selectedFileIds 数组时,出现错误

无法读取未定义的属性“推送”

在将数据推入数组之前,我是否必须实例化或初始化数组?

Sur*_*iya 5

你需要初始化 let selectedFileIds: string[] = [];

sendFileInterrupt() {
 let selectedFileIds: string[] = [];
    for (let item of this.fileSelect.selected) {
      console.log(item.fileId);
      selectedFileIds.push(item.fileId);
    }
Run Code Online (Sandbox Code Playgroud)