gpt4 book ai didi

reactjs - Draft-js-plugins 中的自定义内联工具栏不起作用

转载 作者:行者123 更新时间:2023-12-03 13:42:46 25 4
gpt4 key购买 nike

自定义内联工具栏,如 documentation 中所述没有按预期工作。即使添加了自定义按钮,它仍然显示默认的内联工具栏。

我的代码如下。

import Editor from "draft-js-plugins-editor";
import createInlineToolbarPlugin from "draft-js-inline-toolbar-plugin";
import { ItalicButton, BoldButton, UnderlineButton } from "draft-js-buttons";
import "draft-js-inline-toolbar-plugin/lib/plugin.css";
import createLinkPlugin from "draft-js-anchor-plugin";

const linkPlugin = createLinkPlugin(); // Adding link button.

const inlineToolbarPlugin = createInlineToolbarPlugin(
BoldButton,
ItalicButton,
UnderlineButton,
linkPlugin.LinkButton
);

const { InlineToolbar } = inlineToolbarPlugin;

<Editor
editorState={this.state.editorState}
onChange={this.onChange}
plugins={plugins}
ref={element => {
this.editor = element;
}}
/>
<InlineToolbar />

版本如下。

  • “ react ”:“^16.4.1”
  • draft-js-plugins-editor": "^2.1.1"

提前致谢。

最佳答案

首先,在示例中,它们实际上传递一个对象作为参数,如下所示:

const inlineToolbarPlugin = createInlineToolbarPlugin({
structure: [
BoldButton,
ItalicButton,
UnderlineButton,
CodeButton,
Separator,
HeadlinesButton,
UnorderedListButton,
OrderedListButton,
BlockquoteButton,
CodeBlockButton
]
});

但是,自编写文档以来,插件 API 已更改为现在将自定义按钮作为子项,这意味着为了添加自定义按钮,您应该使用以下代码:

<InlineToolbar>
{
externalProps => (
<>
<ItalicButton {...externalProps} />
<BoldButton {...externalProps} />
<UnderlineButton {...externalProps} />
<UnorderedListButton {...externalProps} />
<HeadlineOneButton {...externalProps} />
<HeadlineTwoButton {...externalProps} />
<HeadlineThreeButton {...externalProps} />
<OrderedListButton {...externalProps} />
</>
)
}
</InlineToolbar>

关于reactjs - Draft-js-plugins 中的自定义内联工具栏不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52907738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com