在grapesjs样式管理器中集成select2或任何自定义选择插件

Posted

技术标签:

【中文标题】在grapesjs样式管理器中集成select2或任何自定义选择插件【英文标题】:Integrate select2 or any custom select plugin in grapesjs Style manager 【发布时间】:2020-10-01 02:25:23 【问题描述】:

问题是 html 中的默认 select 元素不好,所以我想要在 样式管理器 中为 select 实现 select2 插件的grapesjs。正如您在 fiddle 中看到的那样,我已经尝试过它并且它有效,但问题是如果我们更改 select 中的值,它不会触发事件 [样式更改是不适用].

请检查小提琴并告诉我正确的方法。

【问题讨论】:

【参考方案1】:

select2 可能会删除附加到选择元素的事件,因此您看不到更改。但是,您可以通过编程方式设置grapejs 来更改样式或设备。请参阅此小提琴中的示例:https://jsfiddle.net/fd2z5qsa/。

以下是相关部分:

$('.gjs-devices').on('select2:select', function (e) 
  editor.setDevice(e.params.data.id);
);


$('#gjs-clm-states').on('select2:select', function (e) 
 selectorManager.setState(e.params.data.id);
);```


【讨论】:

不错的解决方案,但是根据您的回答,其他select 将如何处理我们将不得不为所有select 元素举行一个事件,并且有一些select 没有@ 987654327@ 所以这也是一个问题。 我想如果您想更改整个库选择元素,那将是一个问题。对于其他元素,您可能需要检查 e.params.data 并查看是否有其他方法来设置值。 好的,不要误会,我是grapesjs的初学者,对于其他样式值,编辑器功能是什么?喜欢样式。?? @webBer 没关系。在整个框架中覆盖一个函数是一项艰巨的工作。例如,我必须通过grapesjs 文档来查找哪个函数设置设备以及哪个函数更新样式。另外,我必须找到e.params.data.id。换句话说,你必须对 API 有透彻的了解才能找到相关的功能,这很耗时。在你的小提琴中,我只看到了两个选择元素,所以我不确定你在寻找什么其他功能。 当您单击一个元素时,您可以在右侧面板中看到一些样式下拉列表,我正在谈论它们,是否有任何函数设置它们的值。我正在检查是否有影响所有样式属性的函数。

以上是关于在grapesjs样式管理器中集成select2或任何自定义选择插件的主要内容,如果未能解决你的问题,请参考以下文章

在 React 框架中集成纯前端报表设计器

在 GrapesJS 上配置 tailwind.css

在 iOS 应用中集成 pjsip

如何在CRM系统中集成ActiveReports最终报表设计器

在 laravel 中集成我的管理面板仪表板后出现错误消息

IDEA插件开发,Jpane中集成Web页面