为 HTML 添加属性
我觉得你需要把属性添加到模型上,而不是视图。 https://github.com/artf/grapesjs/blob/50cc585f23f2560077fd0e9a42ced22e67e69723/src/dom_components/model/Component.js#L298 然后,你需要渲染视图。 我觉得是这样,但不能保证一定 😄
阅读下方完整回答 ↓问题
大家好,
我想为画布中拖拽的每个方块添加一个ID;更清楚地说,我不想为每种类型添加ID,比如:Image、Table、Box 等。我想为每个块添加ad ID,这意味着在示例中,块“1 section”变成“<表 ... blockID = 1>”。
我正在尝试使用这两个命令:
-
'editor.getSelected().view.$el[0].setAttribute(“blockId”,“1”)”
-
'editor.getSelected().get('components').trigger('resetNavigator')'
是的,如果我做“检查元素”,更改会显示在画布上,但如果我尝试导出模板的HTML代码,属性却没有被添加。
有人知道怎么实现这一点,并且让这些更改也出现在导出的代码中吗?
提前感谢大家。
回答(3)
我觉得你需要把属性添加到模型上,而不是视图。
然后,你需要渲染视图。
我觉得是这样,但不能保证一定 😄
let selected = editor.getSelected();
select.addAttributes({blockId: 1});
select.view.render();
你好, 只是想举个例子,以防有人需要。
editor.on('block:drag:stop', function(model) {
model.addAttributes({ 'data-block_id': '123xyz' });
});
就像James建议的那样,但没有“select.view.render()”,因为视图会同时接收变化
相关问答
通过相似的问题讨论继续研究。
问题 #1121
<Tbody> 在里面<Table>
你好@artf, 我创建了一个新组件,地址是 'tagName = 'table''。当选择并点击我创建的工具栏选项时,会打开一个新的模态,用户提交后,应该会在该模块中添加一些内容。我使用的是 'editor.getSelected().get('components').ad...
问题 #3559
Page.getMainComponent().view 在选择页面时显示未定义
你好,@artf, 我想获取所选页面的HTML元素。但使用以下代码时,会返回未定义的状态: “''js editor.on('page:select', page => { page.getMainComponent().view.el.querySelector('secti...
问题 #894
添加自定义属性
大家好, 我正在创建新块,使用以下方法: '编辑。BlockManager.add(blockId, { 标签:blockLabel, 内容:{...blockContent, “customAttribute”: “value”}, 属性:blockAttributes})'...
问题 #5775
Component.get('traits').clone() 已不再可用。
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Arc 版本 1.35.0 / Chromium 引擎 123.0 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?开放开发工具选...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。