ruby-on-rails - 引导表选项 : filter and search

标签 ruby-on-rails bootstrap-4 ruby-on-rails-6

我在我的应用程序的几个页面(在 Rails 6 上)和 tables load correctly 上使用引导表.

但是,我想启用列排序和搜索功能,并且这些功能仅在刷新页面时出现:with fixed-table-toolbar displayed

我的一些application.js:

require("@rails/ujs").start();
require("turbolinks").start();
require("@rails/activestorage").start();
require("channels");
require("jquery");
require("bootstrap");
require("chartkick");
require("chart.js");

import 'mapbox-gl/dist/mapbox-gl.css';
import "@fortawesome/fontawesome-free/js/all.js";
import 'bootstrap-table/dist/bootstrap-table.min.js';
import 'bootstrap-table/dist/locale/bootstrap-table-fr-FR.js';

它在 application.html.erb 中加载 <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> (我还尝试将 bootstrap-tables 导入放在另一个包文件中并单独导入。)

如果我尝试在 application.html.erb 底部的脚本中导入 bootstrap-table 来查看,我将收到这些错误消息,很可能是因为 Jquery 尚未加载:

Uncaught TypeError: Cannot set property 'BootstrapTable' of undefined
Uncaught TypeError: Cannot set property 'BootstrapTable' of undefined
    at VM1101 bootstrap-table.min.js:10
    at VM1101 bootstrap-table.min.js:10
    at VM1101 bootstrap-table.min.js:10
(anonymous) @ bootstrap-table.min.js:10
(anonymous) @ bootstrap-table.min.js:10
(anonymous) @ bootstrap-table.min.js:10
bootstrap-table-fr-FR.js:678 
Uncaught TypeError: Cannot read property 'fn' of undefined
    at VM1103 bootstrap-table-fr-FR.js:678
    at VM1103 bootstrap-table-fr-FR.js:4

在移动了我的导入文件和脚本之后,我已经没有想法了,所以如果有人已经遇到了同样的问题并且可以分享他/她的想法,我将永远感激不已! 谢谢

最佳答案

我必须查看更多代码才能确定,但​​我猜问题是 bootstrap-table 正在使用某种形式的 $(document).ready (function() { ... });,仅在整个页面加载/重新加载时触发。当您在启用 Turbolinks 的情况下进行导航时,这不是实际的页面加载,并且不会触发 ready 事件。

您可能需要为 turbolinks:load 事件添加辅助事件监听器,该事件是通过 Turbolinks 加载新页面时触发的事件。像这样的东西:

// put this in your application.js or another file AFTER bootstrap-table
$(document).on('turbolinks:load', function() {
    $('[data-toggle="table"]').bootstrapTable();
});

参见this answer了解更多信息。

关于ruby-on-rails - 引导表选项 : filter and search,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62393762/

相关文章:

php - Bootstrap 4表格td宽度尺寸自定义

jquery - foreach 引导 Accordion

ruby-on-rails - Rails 6 + webpack 错误 : Uncaught TypeError: $(. ..).popover 不是函数

css - Sass::SyntaxError: "...orm-group::not("之后无效的 CSS:预期的 pseudo_expr,是 ":first-child)"

mysql - 详细的 RoR 应用程序...带有 MySQL 的 XML 或仅 MySQL

angular - 特定 div 上的 Mat 对话框

ruby-on-rails - Rails 6 rake Assets :precompile failing with Docker on AWS due to missing Master Key Env variable

ruby-on-rails - Rails 6 + yarn + 数据表问题

ruby-on-rails - "Association expected, got String"与多对多关联

ruby-on-rails - 每个模块的不同部分 View