我在我的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的按钮,我使用此插件的全部目的就无法实现。我可以帮忙吗?
答案 0 :(得分:2)
导入所有依赖项之后,就像在数据表初始化中添加map
一样简单。
"dom": 'Bfrtip'
我摆脱了这一行$("#dynamic_table").DataTable({
"lengthChange": true,
"dom": 'Bfrtip',
"buttons": [
'copyHtml5',
'excelHtml5',
'csvHtml5',
'pdfHtml5'
]
});