首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对Wysiwyg下拉选项草案作出反应

对Wysiwyg下拉选项草案作出反应
EN

Stack Overflow用户
提问于 2021-12-08 14:00:46
回答 2查看 1.8K关注 0票数 2

当实现反应所见即所得草案、字体、大小、粗体和其他下拉选项不起作用时,我面临问题

这是我的密码

代码语言:javascript
复制
import React, { useState } from 'react'
import { Editor } from 'react-draft-wysiwyg'
import { EditorState } from 'draft-js'
import 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css'


export const HTMLEditor: React.FC = (): JSX.Element => {
  const [editorState, setEditorState] = useState(() => EditorState.createEmpty())


return (
    <div className="mt-2 mb-2">
      <Editor
        toolbarClassName="toolbarClassName"
        wrapperClassName="wrapperClassName"
        editorClassName="editorClassName"
        editorState={editorState}
        onEditorStateChange={setEditorState}
        toolbar={{
          inline: { inDropdown: true },
          list: { inDropdown: true },
          textAlign: { inDropdown: true },
          link: { inDropdown: true },
          history: { inDropdown: true },
        }}
      />
    </div>
  )
}

当我单击字体或任何其他下拉列表时,它会显示错误。

EN

回答 2

Stack Overflow用户

发布于 2022-04-16 10:34:21

我从2020年这个老片段中找到了解决方案。感谢他。

youtube: channel=CodingShiksha

回购github: https://github.com/gauti123456/ReactWysiwygEditor

执行以下步骤:

  1. src/index.js中更改代码
代码语言:javascript
复制
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';

const root = ReactDOM.createRoot(
  document.getElementById('root') as HTMLElement
);
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

代码语言:javascript
复制
import React from "react";
import "./index.css";
import App from "./App";
import reportWebVitals from "./reportWebVitals";
import { render } from "react-dom";                 // add this

render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById("root")
);

我不知道这意味着什么,但如果我不做这一步,这是行不通的,任何人都可以解释。我会非常感激的。

更多信息

所以我一天一夜都在努力找出这个编辑出了什么问题,我无法按下它,我觉得它似乎是下垂的。因此,react和react dom的版本与这个问题无关,CSS版本也是如此.

那么,快乐编码!

Ps.草稿js将在2022年12月31日中成为存档,而元公司将使用词法。所以,记住这一点。https://github.com/facebook/lexical

Ps2.用于响应草案Wysiwyg的是草案js的扩展,它非常好,但是我看到github已经很长一段时间不再活跃了。所以请考虑一下你是否会长期使用这个。

票数 5
EN

Stack Overflow用户

发布于 2021-12-08 14:07:28

请尝试包装您的setState函数。

代码语言:javascript
复制
const onSetEditorState = (newState) => {
   setEditorState(newState)
}

然后将onSetEditorState作为道具传递给onEditorStateChange

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70276271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档