首先我們需要到官網下載 http://fex.baidu.com/ueditor/最新版本的編輯器
將下載的壓縮包打包后 把文件名改成 UEditor;
然后放在項目根目錄的public文件夾下

然后在 public文件的index.html文件引入。要按順序引入

<script type="text/javascript" src="UEditor/ueditor.config.js"></script> <script type="text/javascript" src="UEditor/ueditor.all.js"></script> <script type="text/javascript" src="UEditor/lang/zh-cn/zh-cn.js"></script>
然后在components文件夾下創建 Editor.js 組件

import React from 'react';
export default class Editor extends React.Component {
constructor(props) {
super(props)
this.state = {
id: this.props.id || null,
ueEditor: null
}
}
componentDidMount() {
var UE = window.UE;
let { id } = this.state;
if (id) {
try {
UE.delEditor(id);
} catch (error) { }
let ueEditor = UE.getEditor(id, {
autoHeightEnabled: true,
autoFloatEnabled: true,
//字體大小
'fontsize': [10, 11, 12, 14, 16, 18, 20, 24, 36, 48],
// 上傳圖片時后端提供的接口
serverUrl: '',
enableAutoSave: false,
// eslint-disable-next-line no-dupe-keys
autoHeightEnabled: false,
initialFrameHeight: this.props.height,
initialFrameWidth: '100%',
});
this.setState({ ueEditor });
//判斷有沒有默認值
ueEditor.ready((ueditr) => {
var value = this.props.value ? this.props.value : '<p></p>';
ueEditor.setContent(value);
});
//將文本回調回去
ueEditor.addListener('selectionchange', (type) => {
//console.log(ueEditor.getContent())
this.props.callback(ueEditor.getContent());
});
//清空富文本內容
//this.refs.ueditor.changeContent("");
}
}
render() {
let { id } = this.state;
return (<div>
<textarea id={id} style={{ width: this.props.width, height: this.props.height }}></textarea>
</div>)
}
}
然后在需要的頁面引入 Editor


打開頁面,我們就可以看到 Editor富文本

