jQuery Datatable按钮未显示在React js上

时间:2019-05-10 11:27:05

标签: javascript jquery reactjs datatables

我在我的react应用程序中初始化了Jquery Datatables,它工作得很好,除了按钮没有显示出来。 这是我的代码:

我一开始尝试了这个方法,它可以工作,但是不显示按钮。

import $ from 'jquery';
import JSZip from 'jszip';
window.JSZip = JSZip;

import 'datatables.net-bs4';
import 'datatables.net-responsive';
import 'datatables.net-buttons-bs4';
import 'datatables.net-buttons/js/buttons.colVis';
import 'datatables.net-buttons/js/buttons.html5';
import 'datatables.net-buttons/js/buttons.flash';
import 'datatables.net-buttons/js/buttons.print';

接下来,我也尝试了下面的代码,它引发的错误不允许我的react应用程序呈现。它抱怨Uncaught TypeError: Cannot set property '$' of undefined at DataTable

import $ from 'jquery';
const JSZip = require('jszip');
window.JSZip = JSZip;

require('datatables.net')();
require('datatables.net-responsive')();
require('datatables.net-buttons')();
require('datatables.net-buttons/js/buttons.colVis')();
require('datatables.net-buttons/js/buttons.html5')();
require('datatables.net-buttons/js/buttons.print')();

最后,我如何初始化数据表:

var table = $('#dynamic_table').DataTable({
          'lengthChange': false,
          'buttons': [ 'copy', 'excel', 'pdf', 'colvis' ],
});
table.buttons().container().appendTo( '#dynamic_table_wrapper .col-md-6:eq(0)' );

我遇到了类似的问题Datatables button through React App,但并不能解决我的问题。 没有将按钮导出到excel的按钮,我使用此插件的全部目的就无法实现。我可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

导入所有依赖项之后,就像在数据表初始化中添加map一样简单。

"dom": 'Bfrtip'

我摆脱了这一行$("#dynamic_table").DataTable({ "lengthChange": true, "dom": 'Bfrtip', "buttons": [ 'copyHtml5', 'excelHtml5', 'csvHtml5', 'pdfHtml5' ] });