我真的很想知道如何将 jqTree 作为 webpacker webpack 集成到我的 Rails 6 应用程序中
更新:- 使用 yarn add jqtree 似乎神奇地解决了我的大部分问题,但是我目前面临的树不是函数错误
我正在使用 Ancestry gem 来组织菜单项,我需要一个拖放式 javascript 树视图解决方案,它可以很好地与 Ancestry gem 配合使用。我选择了 jqTree 作为我想要的解决方案,但我很高兴被说服使用替代方案,因为周围似乎有很多,但最初我只想能够至少获得一个在 Rails 6 中工作的树视图大概我必须从设置 jQuery 开始,有很多关于如何执行此操作的资源,所以我想这更多是关于如何在 Rails 6 应用程序中启动和运行任何 jQuery 组件我想我必须从一个 jsx 文件并导入一些东西并将一些 css 导入到 application.scss 但是这应该是什么样子我真的不确定
到目前为止,我已经按照这里的说明设置了 jQuery https://www.botreetechnologies.com/blog/introducing-jquery-in-rails-6-using-webpacker
我可以通过一个简单的警报确认这一切都已连接并正常工作
我已经取得了一些进展,而不是下载 jqTree 文件,我使用 yarn 来安装 jqTree
更换
我已经下载了 jqTree 文件并将它们解压缩到我的 javascript/packs 文件夹中名为 jqTree 的文件夹中
和
yarn add jqtree
现在我已经整理出了没有 ; 的要求。所以
require ;'jqTree/tree.jquery.js'
变成
require('jqtree')
同样在我的 javascript/packs 文件夹中,我创建了一个 sortable.js 文件,其中包含以下内容
require ;'jqTree/tree.jquery.js'
jQuery(window).on('load', function () {
alert("Done"); //This works!
});
$(function() {
$('#tree1').tree({
data: data,
autoOpen: true,
dragAndDrop: true
});
})
这 ; 在require语句中让我很困惑,但控制台错误要求它
现在看起来像这样
require("jqtree");
$(function() {
alert($('#tree1').data('items'));
});
$('#tree1').tree({
data: $('#tree1').data('items'),
autoOpen: true,
dragAndDrop: true
});
使用上面的代码,我得到一个参考错误:数据未定义在视图中我有以下代码
<%=javascript_pack_tag("sortable")%>
<%= content_tag "div", id: "tree1", data: {items: @menu_items} do %>
Loading items...
<% end %>
我现在遇到的问题是我的浏览器报告树不是函数的错误。
在我的 application.css.scss 我有
*= require "jqtree.css"
哪个不起作用