laravel-admin自定义页面,刷新才能显示,原因是pjax引起的
xuexi 2025-05-11 16:23:23 发表在:PHP 查看数:103
  1. 禁用特定页面的 pjax 若自定义页面包含复杂的动态组件(如图表、富文本编辑器),可临时禁用 pjax
{{-- 在 Blade 模板顶部禁用 pjax --}}
@section('pjax-container', '')  {{-- 清空 pjax 容器标记 --}}
或通过中间件关闭 pjax:

//在控制器中关闭 pjax

public function index(Content $content)
{
    // 禁用 pjax
    request()->headers->set('X-PJAX', false);

    return $content
        ->title('自定义页面')
        ->body(view('admin.custom-page'));
}
  1. 重新初始化动态组件 对于依赖初始化的组件(如 DataTables、Select2),需在 pjax 加载后销毁并重新创建
function initCustomPage() {

    // 销毁旧实例(如果存在)
    if ($.fn.dataTable.isDataTable('#my-table')) {
        $('#my-table').DataTable().destroy();
    }

    // 重新初始化表格
    $('#my-table').DataTable({
        // 配置项
    });
}
  1. 检查资源加载 确保自定义 CSS/JS 通过 Laravel-Admin 的资产管理方法加载,避免路径错误:
    
    {{-- 使用 admin_asset() 加载资源 --}}
    @section('css')
     <link rel="stylesheet" href="{{ admin_asset('css/custom.css') }}">
    @endsection

@section('js')

@endsection ``` 验证步骤 清除缓存: ```php php artisan view:clear php artisan cache:clear ```
最近访问时间:2025-06-01 11:02:34
知识库:350条鸣谢:TAY  备案号:蜀ICP备2024090044号-1