2017-08-23 26 views
0

我想用ng2-smart-table來顯示數據和內聯編輯。然而,這個組件似乎有些問題。我克隆了回購並在本地運行一些測試。我得到了基本的例子演示和添加的輸入數據對象看到的變化/中的對象綁定:ng2-smart-table在刪除後不綁定

<ng2-smart-table [settings]="settings" [source]="data"></ng2-smart-table> 
<pre>{{data | json}}</pre> 

當我「新增」行,那就說明對象數組中的新條目如預期。編輯任何行也行,適當地更新行。但是,當刪除一行時,該對象不會更改,並會一直在對象數組中顯示刪除的行,但不會顯示在網格中。當我嘗試添加另一行時,它顯示網格中的新行,但它不更新/綁定對象數組中的新值。更新仍按預期工作。

我在ng2-smart-table的github中發佈了這個問題,我沒有在那裏回答,所以我希望我能在這裏得到它。

所以這是一個真正的錯誤?這裏是我的測試Plunker

謝謝你們。

+0

您是否找到任何解決方案? –

+0

不幸的是,我沒有找到任何解決方案,我沒有得到任何答案,我發佈在github上的問題。所以我放棄了網格,並開始使用常規網格:( – UncleFester

+0

我測試了這個我的angular 4應用程序,它的工作正常,我會很快發送工作解決方案:) –

回答

0

加入到提供

這裏plnkr代碼的幾行代碼是工作Plunker:https://plnkr.co/edit/UW9s11xhi5wJgt0nLzXj?p=preview

在模板

<ng2-smart-table [settings]="tableSettings" [source]="data" 
(deleteConfirm)="modifyData($event)" 
(createConfirm)="addData($event)" 
></ng2-smart-table> 
    <pre>{{data | json}}</pre> 

在app.ts

delflag=false; 
    addData(event){ 
    if(this.delflag){ 
     this.data.push(event.newData); 
    } 
    // console.log(event); 
    event.confirm.resolve(event.newData); 
    } 
    modifyData(event){ 
    this.delflag=true; 
    // console.log(this.data); 
    let delrow=Object.keys(event.data); 
    for(var j in this.data) 
    { 
     // console.log(this.data,event.data); 
    if(this.data[j]==event.data) 
     { 
     this.data.splice(j,1); 
     // this.data=event.source.data; 
     } 
    } 
    event.confirm.resolve(event.source.data); 

    // console.log(this.data) 
    if(this.data.length==0) 
     {this.data=[]; 
     this.delflag=false; 
     } 
    } 

在設置

tableSettings = { 
add:{ 
    confirmCreate:true 
    }, 
    delete :{ 
     confirmDelete: true 
    }, 
//other fields 
} 

希望這有助於!