如何将单击的单元格列传递给自定义渲染器

时间:2019-07-11 14:29:31

标签: click cell ng2-smart-table

在呈现自定义组件的ng2-smart-table中,单击某个单元格时,该单元格的值将传递到该自定义组件中,但列字段Id却没有

1 个答案:

答案 0 :(得分:0)

如果您要查找行信息(例如行ID)或该列上的任何其他信息,请单击以下步骤

定义静态变量 静态isColumnNameClick = false;

在HTML模板中

 <ng2-smart-table [settings]="settings" [source]="source"(userRowSelect) = "selectDataRow($event)"> </ng2-smart-table>

在设置中,您可以提供以下信息

columns: {
  columnName: {
    type: 'custom',
    title: 'Column Name',
    renderComponent: ChildComponent,
    onComponentInitFunction(instance) {
    instance.nextAction.subscribe(row => CurrentComponent.isColumnNameClick = true);
    }
  }

}

最后,在selectDataRow($ event)函数中,您可以检查

selectDataRow(event) {
         if(CurrentComponent.isColumnNameClick) {
             CurrentComponent.isColumnNameClick = false;
              //access other row attributes using
               const id= event.data.id 
        }
}