我已经为代码创建了stackblitz。
我想在Total
更改时更新Quantity
列的值。在自定义组件中,当我更新数据中的total
时,在更新数据时不会在UI中对其进行更新(我可以在控制台中看到它)。
ng2-smart-table
的特定问题。
答案 0 :(得分:0)
您应该使用LocalDataSource
作为来源,以便您可以告诉ng2-table某些内容已更改,并且应该刷新数据source.refresh()
source: LocalDataSource;
设置更改
quantity: {
title: 'Quantity',
type: 'custom',
renderComponent: CustomComponent,
sort: false,
editable: true,
onComponentInitFunction: (instance: any) => {
instance.save.subscribe(row => {
this.source.refresh();
});
}
},
export class CustomComponent {
rowData: any;
@Output() save: EventEmitter<any> = new EventEmitter();
onModelChange(table) {
this.rowData.total = this.rowData.amount * this.rowData.price;
this.save.emit(this.rowData);
}
}
工作演示在这里-https://stackblitz.com/edit/ng2-smart-table-column-cal-m9nxpg