I try to make a Gutenberg plugin but I have problem to set a value of attributes.
I npm this template
npx @wordpress/create-block example-plugin --template @ryanwelcher/multiple-blocks-template
because I want create a multiblock plugin.
the problem is where and how register attributes.
I register it on block.json:
"attributes": {
"content": {
"type": "string",
"selector": "h2"
}
},
Then I used it on edit.js
export default function Edit({attributes: {content}, setAttribute}) {
const blockProps = useBlockProps();
return (
<p {...useBlockProps()}>
<input value={content} />
<TextControl label="Question:" value={content}
allowedFormats={["core/italic"]}
onChange={(content)x => setAttributes({ content: x})} />
{__('larum ipsume', 'page-builder')}
</p>
);
}
update:
actually I can change the valuethis method work but I use two methods:
onChange={x => setAttributes({content: x})}
have an error.
and second one onChange={updateValue} function updateValue (index) { setAttributes({content: index}) }
I cannot write all sentence but just first letter and it refresh my input.