Laravel 8 Yajra DataTable在同一页面刷新
Laravel 8 Yajra DataTable refresh on the same page
如何在不返回第一页的情况下刷新当前页码的DataTable?
此代码刷新 table 但继续转到第一页或分页的第一页 link。
$('#table_users').DataTable().ajax.reload();
这就是 table 的初始化方式。
$(document).ready(function() {
// init datatable.
var dataTable = $('#table_users').DataTable({
processing: true,
serverSide: true,
autoWidth: false,
pageLength: 10,
// scrollX: true,
"order": [[ 0, "desc" ]],
ajax: {
url: '{{ route('get_users') }}'
},
columns: [
{data: 'name', name: 'name'},
{data: 'email', name: 'email'},
{data: 'sex', name: 'sex'},
{data: 'bday', name: 'bday'},
{data: 'contact', name: 'contact'},
{data: 'scope', name: 'scope'},
{data: 'roles', name: 'roles'},
{data: 'permissions', name: 'permissions'},
]
});
});
控制器。
$user = User::select('id', 'name', 'email', 'sex', 'bday', 'contact', 'scope', 'scope_id')->get();
return \DataTables::of($user)->make()
用这个替换数据表重新加载,
dataTable.ajax.reload(null, false)
其中 dataTable
是创建数据表的 实例 并将第一个参数设置为 null,即 callback 和第二个参数用于重置分页,因此将其设置为false。
让我知道它是否解决了您的问题。
如何在不返回第一页的情况下刷新当前页码的DataTable? 此代码刷新 table 但继续转到第一页或分页的第一页 link。
$('#table_users').DataTable().ajax.reload();
这就是 table 的初始化方式。
$(document).ready(function() {
// init datatable.
var dataTable = $('#table_users').DataTable({
processing: true,
serverSide: true,
autoWidth: false,
pageLength: 10,
// scrollX: true,
"order": [[ 0, "desc" ]],
ajax: {
url: '{{ route('get_users') }}'
},
columns: [
{data: 'name', name: 'name'},
{data: 'email', name: 'email'},
{data: 'sex', name: 'sex'},
{data: 'bday', name: 'bday'},
{data: 'contact', name: 'contact'},
{data: 'scope', name: 'scope'},
{data: 'roles', name: 'roles'},
{data: 'permissions', name: 'permissions'},
]
});
});
控制器。
$user = User::select('id', 'name', 'email', 'sex', 'bday', 'contact', 'scope', 'scope_id')->get();
return \DataTables::of($user)->make()
用这个替换数据表重新加载,
dataTable.ajax.reload(null, false)
其中 dataTable
是创建数据表的 实例 并将第一个参数设置为 null,即 callback 和第二个参数用于重置分页,因此将其设置为false。
让我知道它是否解决了您的问题。