契合 antd的富文本编辑器braft-editor 使用实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import '../../../../braft-editor/dist/index.css'
import React from 'react'
import BraftEditor from 'braft-editor'
 
export default class Editor1 extends React.Component {
    state = {
        // 创建一个空的editorState作为初始值
        editorState: BraftEditor.createEditorState(null)
    }
 
    async componentDidMount() {
        var _self = this
        this.setState({
            editorState: BraftEditor.createEditorState(this.props.val)
        })
    }
    render() {
        const { editorState } = this.state
        const controls = [
            'undo', 'redo', 'separator',
            'font-size', 'line-height', 'letter-spacing', 'separator',
            // 'text-color', 'bold', 'italic', 'underline', 'strike-through', 'separator',
            // 'superscript', 'subscript', 'remove-styles', 'emoji', 'separator', 'text-indent', 'text-align', 'separator',
            // 'headings', 'list-ul', 'list-ol', 'blockquote', 'code', 'separator',
            // 'link', 'separator', 'hr', 'separator',
            // 'media', 'separator',
            // 'clear'
        ]
 
        return (
            <div style={{ width: this.props.width, height: this.props.height || '100px', display: 'inline-block', margin: "40px 10px 10px -115px", lineHeight: '24px' }} >
                <BraftEditor
                    defaultValue={this.props.val}
                    value={editorState}
                    onChange={this.handleChange}
                    controls={controls}
                    onSave={this.submitContent}
                />
            </div>
 
        )
    }
    handleChange = (editorState) => {
        const htmlString = editorState.toHTML()
        this.setState({ editorState: editorState }, () => {
            this.props.onChange(htmlString)
        })
    }
}
# 使用npm安装
npm install braft-editor --save

 还有一个index.css 引入地址 :https://github.com/margox/braft-editor

posted @   红苹果学园  阅读(11419)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示