BUG: Setting the text content programmatically clears it in the canvas
Question
GrapesJS version
- I confirm to use the latest version of GrapesJS
What browser are you using?
v126
Reproducible demo link
https://jsfiddle.net/r5062suy/1/
Describe the bug
How to reproduce the bug?
- Run the demo link (https://jsfiddle.net/r5062suy/1/)
- See that I try to update the text in the div from "Hello world!!" to "test" through
editor.getWrapper().find('.test-text')[0].set('content', 'test'). - However, it clears out the text instead.
What is the expected behavior? It updates the text content correctly.
What is the current behavior? It clears it out instead.
Code of Conduct
- I agree to follow this project's Code of Conduct
Answers (3)
Try using the .getEl method on the component then setting the element directly.
const editor = grapesjs.init({
container: '#gjs',
fromElement: 1,
height: '100%',
storageManager: { type: 0 },
plugins: ['gjs-blocks-basic']
});
setTimeout(() => {
const component = editor.getWrapper().find('.test-text')[0]
const el = component.getEl();
el.textContent = "test"
}, 1000)
const component = editor.getWrapper().find('.test-text')[0] const el = component.getEl(); el.textContent = "test"
Problem with this is that when you export the HTML, it returns the old text.
setTimeout(() => {
const component = editor.getWrapper().find('.test-text')[0]
const el = component.getEl();
el.textContent = "test"
console.log(component.toHTML())
// <div class="test-text" id="i387">Hello World!!!</div>
}, 1000)
@mannyyang where did you find the usage of set('content', ...? It's more like private property and you should never use it.
To update inner components programmatically use component.components('test')
Related Questions and Answers
Continue research with similar issue discussions.
Issue #5888
BUG: Cannot edit component content even with editable property set to true
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome V124 Reproducible demo link https:/...
Issue #4020
BUG: SVG text textcontent not updated when calling getHtml on editor
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Chrome v96 Reproducible demo link https://...
Issue #4323
BUG: Performance issue while dragging component to canvas when you have 2k component on canvas
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? Google Chrome Version 101.0.4951.41 (Officia...
Issue #6458
BUG: sector.setName doesn't work
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome Reproducible demo link https://jsfi...
Paid Plugins That Match This Issue
Curated by issue keywords and label relevance to help you ship faster.
Loading paid plugin recommendations...
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.