| 
				
					 | 
			7 年之前 | |
|---|---|---|
| .. | ||
| build | 7 年之前 | |
| example | 7 年之前 | |
| src | 7 年之前 | |
| .babelrc | 7 年之前 | |
| .eslintignore | 7 年之前 | |
| .eslintrc | 7 年之前 | |
| .eslintrc.js | 7 年之前 | |
| .gitattributes | 7 年之前 | |
| .gitignore | 7 年之前 | |
| .npmignore | 7 年之前 | |
| .prettierrc | 7 年之前 | |
| LICENSE | 7 年之前 | |
| README.md | 7 年之前 | |
| package-lock.json | 7 年之前 | |
| package.json | 7 年之前 | |
| yarn.lock | 7 年之前 | |
交流反馈请加QQ群:725634541
# 使用yarn安装
yarn add braft-editor
# 使用npm安装
npm install braft-editor --save
编辑器支持value和onChange属性,这类似于React中原生的input组件。通常情况下,可以用典型的受控组件的形式来使用本编辑器:
import React from 'react'
// 引入编辑器以及EditorState子模块
import BraftEditor, { EditorState } from 'braft-editor'
// 引入编辑器样式
import 'braft-editor/dist/index.css'
export default class EditorDemo extends React.Component {
  state = {
      editorState: null
  }
  async componentDidMount () {
    // 假设此处从服务端获取html格式的编辑器内容
    const htmlContent = await fetchEditorContent()
    // 使用EditorState.createFrom将html字符串转换为编辑器需要的editorState数据
    this.setState({
      editorState: EditorState.createFrom(htmlContent)
    })
  }
  submitContent = async () => {
    // 在编辑器获得焦点时按下ctrl+s会执行此方法
    // 编辑器内容提交到服务端之前,可直接调用editorState.toHTML()来获取HTML格式的内容
    const htmlContent = this.state.editorState.toHTML()
    const result = await saveEditorContent(htmlContent)
  }
  handleEditorChange = (editorState) => {
    this.setState({ editorState })
  }
  render () {
    const { editorState } = this.state
    return (
      <div className="my-component">
        <BraftEditor
          value={editorState}
          onChange={this.handleEditorChange}
          onSave={this.submitContent}
        />
      </div>
    )
  }
}
当然本编辑器也支持defaultValue属性,因此你也可以将本编辑器作为一个非受控组件来使用。