首页 > 解决方案 > JQuery Datatables Plugin 销毁/检索方法的行为不像记录的那样

问题描述

所以我正在尝试将数据表与 Laravel Livewire 一起使用。我知道 Livewire 只会在初始化时运行一次 javascript。因此,当我在调用服务器(以更新搜索行)后重新渲染我的组件时,我会发出一个 Livewire 事件,例如

$this->emit('reloadTable')

然后在我的html中我像这样听它:

<div>
    <livewire:my-component></livewire:my-component> //contains a <table id="my-table"> element
    <script>
        Livewire.on('reloadTable', function(){
            $("#my-table").DataTable({
                pageLength: 25,
                retrieve: true
            })
        })
    </script>
</div>

现在根据文档,这应该获取表实例并使用新数据重新渲染它。但我遇到的是该表失去了与 DataTables 插件的所有联系,只是恢复到其常规的 html 状态。如果我将“retrieve”替换为“destroy”以使其完全覆盖前一个表,则该表的整个 html 结构将从页面中删除,这是文档所说的不应该发生的事情。

标签: javascriptjquerylaravellaravel-livewire

解决方案


推荐阅读