首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ng2-smart-table:从自定义renderComponent计算其他列值

ng2-smart-table:从自定义renderComponent计算其他列值
EN

Stack Overflow用户
提问于 2018-10-12 13:50:16
回答 1查看 2.7K关注 0票数 0

我已经为代码创建了一个stackblitz

我想在更改Quantity时更新Total列的值。在自定义组件中,当我在数据中更新total时,当数据正在更新时,它不会在UI中更新(我可以在控制台中看到它)。

这是ng2-smart-table特有的问题。

EN

回答 1

Stack Overflow用户

发布于 2018-10-12 17:33:30

您应该使用LocalDataSource作为源,这样您就可以告诉ng2- source.refresh()某些内容已经更改,它应该刷新数据表

app.component.ts中的更改

代码语言:javascript
复制
source: LocalDataSource;

设置的更改

代码语言:javascript
复制
 quantity: {
        title: 'Quantity',
        type: 'custom',
        renderComponent: CustomComponent,
        sort: false,
        editable: true,
        onComponentInitFunction: (instance: any) => {
          instance.save.subscribe(row => {
            this.source.refresh();
          });
        }
      },

custom.compnent.ts中的更改

代码语言:javascript
复制
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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52773036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档