如何在使用DataTables时保持Ember Data双向绑定?

时间:2018-05-16 06:55:30

标签: javascript ember.js datatables ember-data

我正在使用Ember开发一个项目,我有一个表组件。它是在HTML / Handlebars中创建的,并使用jquery初始化为DataTable

当初始化为Datatable时,表不再响应页面上queryParams的refreshModel:true,并且Ember Data的双向绑定将丢失。这对我来说是很重要的功能所以我想知道是否有办法让两全其美?

component.js中的jquery是:

import Component from '@ember/component';

export default Component.extend({

  model: null,

  didInsertElement() {
    let table = $('#resultsTable').DataTable({
      dom: 'Bfrtip',
      paging: false,
      scrollY: 500
    });


  },

});

该表在初始渲染时是正确的,但更改我的queryParams之一不会刷新数据。我试着按照以下方式重新渲染:

  didUpdateAttrs() {
    let table = $('#resultsTable').DataTable({
      destroy: true,
      dom: 'Bfrtip',
    });
  }

这在某种程度上有效,但会产生一些不良行为,例如表格更新,但不会更新“显示x结果”#39;小部件或需要很长时间才能更新。如果不破坏表,我会收到如下错误:

DataTables warning: table id={id} - Cannot reinitialise DataTable. 

对于描述here

的Datatables库的限制

欢迎思考

0 个答案:

没有答案