美文网首页
react中引入wangEditor富文本编辑器

react中引入wangEditor富文本编辑器

作者: pay_load | 来源:发表于2020-05-08 22:11 被阅读0次

    wangEditor是一款超轻量级的富文本编辑器,能满足大多数的开发需求,那么具体如何在react项目中使用呢?

    1、导入wangEditor包

    npm install wangeditor --save
    

    2、页面引入wangEditor包

    import E from 'wangeditor'
    

    3、创建render函数

    <div>
             <div ref="editorElemMenu"
                    style={{ backgroundColor: '#f1f1f1',border: "1px solid #ccc", 
                       width: this.state.width >= 1300 ? "960px" : "800px", }}>
             </div>
             <div
               style={{
                       width: this.state.width >= 1300 ? "960px" : "800px",
                       height: 600,
                       border: "1px solid #ccc",
                       borderTop: "none",
                       zIndex: 20
                     }}
                ref="editorElemBody" >
                   {/* 初始化富文本 (可直接为空什么也不写)*/}
                   {this.props.location.state ?
                       <div dangerouslySetInnerHTML={{ __html: this.props.location.state.data.content }}>
                       </div>
                        : 
                       <div></div>
    }
              </div>
    </div>
    

    4、初始化文本

    constructor(props) {
            super(props);
            this.state = {
                editorContent:''
             };
        }
    

    5、在组件渲染完毕(componentDidMount)之后实例化编辑器

    componentDidMount() {
            const elemMenu = this.refs.editorElemMenu;
            const elemBody = this.refs.editorElemBody;
            const editor = new E(elemMenu,elemBody)
            // 使用 onchange 函数监听内容的变化,并实时更新到 state 中
            editor.customConfig.onchange = html => {
                console.log(editor.txt.html())
                this.setState({
                    // editorContent: editor.txt.text()
                    editorContent: editor.txt.html()
                })
            }
            editor.customConfig.menus = [
                'head',  // 标题
                'bold',  // 粗体
                'fontSize',  // 字号
                'fontName',  // 字体
                'italic',  // 斜体
                'underline',  // 下划线
                'strikeThrough',  // 删除线
                'foreColor',  // 文字颜色
                'backColor',  // 背景颜色
                'link',  // 插入链接
                'list',  // 列表
                'justify',  // 对齐方式
                'quote',  // 引用
                'emoticon',  // 表情
                'image',  // 插入图片
                'table',  // 表格
                'video',  // 插入视频
                'code',  // 插入代码
                'undo',  // 撤销
                'redo'  // 重复
            ]
            editor.customConfig.uploadImgShowBase64 = true;
            editor.customConfig.uploadImgHeight = 'auto';
            editor.create()
        };
    

    *如遇到图片大小无法自适应的情况

    设置高度  height:auto
    document.getElementById('con').innerHTML = data[o].content
    document.getElementById('con').style.height = 'auto'
    

    相关文章

      网友评论

          本文标题:react中引入wangEditor富文本编辑器

          本文链接:https://www.haomeiwen.com/subject/jtqfnhtx.html