我创建了一个相当简单的手风琴块,它非常适合基本文本。问题是我用于手风琴内容的控件是 RichText,它只允许基本格式,例如粗体。
如果我想创建一个无序列表和基本文本怎么办?我目前正在使用multiline: "p"
,但是如何添加其他元素以便我也可以在其中包含 UL 元素?
我能想到的仅有的两个想法,我不知道如何实施。第一个是扩展块工具栏BlockControls
以包含 UL 的其他格式化程序,第二个是使用另一个元素而不是 RichText - 例如 Freeform(可能已重命名为 Classic Editor?) - 但我找不到任何文档这些。
这是我当前代码的示例:
属性
attributes: {
title: {
type: 'string',
selector: '.hd-accordion-title',
},
content: {
type: 'array',
source: 'children',
selector: '.hd-accordion-content',
}
},
编辑
edit: function( props ) {
var title = props.attributes.title;
var content = props.attributes.content;
function onChangeTitle(newTitle) {
props.setAttributes({
title: newTitle
});
}
function onChangeContent(newContent) {
props.setAttributes({
content: newContent
});
}
return [
(
<div className={"hd-accordion"}>
<RichText
tagName="h3"
className= "hd-accordion-title"
value= { title }
onChange= { onChangeTitle }
placeholder = "Title"
keepPlaceholderOnFocus = { true }
multiline= { false }
/>
<RichText
tagName="div"
className="hd-accordion-content"
value={ content }
onChange= { onChangeContent }
placeholder = "content"
multiline="p"
/>
</div>
)
];
},