对象更改后的ng更新?

时间:2018-02-07 11:34:00

标签: angular

我有一个函数可以在拖放项目时更新对象属性。或者因为我的功能是错误的,或者还有其他东西我必须做它接缝这是行不通的。显示屏不会更新

onItemDrop(event: any) {
    const dropId = event.nativeEvent.srcElement.id;
    const dropItem = event.dragData;
    const update = this.results.find(item => {
        return item.storyFunnelStatusId === dropItem.storyFunnelStatusId;
    });
    update.storyFunnelStatusId = dropId;
    this.results = this.results;
}

然后这应该更新:

<div class="card bg-light-blue mb-2" *ngFor="let item of (results | groupBy: column.id)" [dragData]="item" draggable></div>

1 个答案:

答案 0 :(得分:0)

尝试此操作:找到元素索引并直接在this.results中更改。

onItemDrop(event: any) {
    const dropId = event.nativeEvent.srcElement.id;
    const dropItem = event.dragData;
    // find the updated element index
    const index = this.results.findIndex(item => {
        return item.storyFunnelStatusId === dropItem.storyFunnelStatusId;
    });
    this.results[index].storyFunnelStatusId = dropId;
    // this.results = this.results;
}