2017-11-23 4 views
0

Ich benutze ember-datatables Addon, das auf jquery Datatables basiert. Ich habe ein Datentabellen gemäß ihren Richtlinien erstellt.Ember-Daten können nicht neu gezeichnet werden, nachdem Daten geändert wurden

Aber ich change die Daten der Tabelle nach einiger Zeit und neu zeichnen der Tabelle. Tabelle neu zeichnen löscht vorherige Daten nicht.

Hier ist Ember twiddle erstellt von mir. Auch ich füge Code unten hinzu.

templates/application.hbs

<h1>Please find data table below</h1> 
{{outlet}} 
{{#data-table id="myTable"}} 
    <thead> 
    <tr> 
     <th>Name</th> 
     <th>Salary</th> 
     <th>Position</th> 
    </tr> 
    </thead> 
    <tfoot> 
    <tr> 
     <th>Name</th> 
     <th>Salary</th> 
     <th>Position</th> 
    </tr> 
    </tfoot> 
    <tbody> 
    {{#each data1 as |data|}} 
     <tr> 
     <td>{{data.name}}</td> 
     <td>{{data.salary}}</td> 
     <td>{{data.position}}</td> 
     </tr> 
    {{/each}} 
    </tbody> 
{{/data-table}} 

Routen/application.js

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    setupController: function() { 
    Ember.run.later(this, function() { 
     this.controller.set('data1', [{ 
     'name': 'John Smith 1', 
     'salary': '$2000', 
     'position': 'developer' 
     }, { 
     'name': 'Alex 1', 
     'salary': '$2000', 
     'position': 'developer' 
     }, { 
     'name': 'Leonardo 1', 
     'salary': '$2000', 
     'position': 'developer' 
     }]); 

     var api = new $.fn.dataTable.Api('#myTable'); 
     api.row.clear(); 

     api.draw(); 

    }, 5000); 
    } 
}); 

Controller/application.js

import Ember from 'ember'; 

export default Ember.Controller.extend({ 
    appName: 'Ember Twiddle', 
    data1: [{ 
    'name': 'John Smith', 
    'salary': '$2000', 
    'position': 'developer' 
    }, { 
    'name': 'Alex', 
    'salary': '$2000', 
    'position': 'developer' 
    }, { 
    'name': 'Leonardo', 
    'salary': '$2000', 
    'position': 'developer' 
    }] 
}); 
+0

Unrelated, aber ich versuche, auf den Gitbub zuzugreifen, und es scheint zu sein github.com/mfcollins3/ember-datatables. Ich würde Ihnen empfehlen, ein nicht gepflegtes Plugin nicht in Ihr Projekt zu integrieren. [npm] (https://www.npmjs.com/package/ember-datatables) –

+0

Ich stimme zu, dass es nicht gepflegt wird. Aber es ist in einwandfreiem Zustand. Ich werde es für einen weiteren Tag versuchen. Wenn das nicht funktioniert habe, werde ich zu einem anderen Add-On wechseln. – murli2308

+2

Ich würde dieses Addon auch nicht verwenden. Es ist ziemlich einfach, eine sortierbare Tabelle in ember zu implementieren. Ich würde ein jquery-plugin für diese Aufgabe nicht wickeln. Es gibt alle möglichen Nachteile dieses Ansatzes –

Antwort

0

Sie erhalten TypeError: api.row.clear is not a function.

Das Ändern von api.row.clear() zu api.clear() behebt Ihr Problem.

Überlegen Sie, dieses Addon wie in den Kommentaren erwähnt zu vermeiden.

Verwandte Themen