首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未从HTML解析MUI-RTE默认值

未从HTML解析MUI-RTE默认值
EN

Stack Overflow用户
提问于 2021-06-30 00:55:48
回答 1查看 185关注 0票数 0

我用以下代码填充MUI-RTE的defaultValue:

代码语言:javascript
运行
复制
    // 1. Convert the HTML
    const contentHTML = convertFromHTML(tenant.config.confidentiality.text)

    // 2. Create the ContentState object
    const state = ContentState.createFromBlockArray(
        contentHTML.contentBlocks,
        contentHTML.entityMap
    )

    // 3. Stringify `state` object from a Draft.Model.Encoding.RawDraftContentState object
    const content = JSON.stringify(convertToRaw(state))

然后在组件上,我将内容设置为defaultValue属性:

代码语言:javascript
运行
复制
<MUIRichTextEditor
                            key='text-editor'
                            label='Start typing confidentiality agreement...'
                            controls={[
                                'bold',
                                'italic',
                                'underline',
                                'strikethrough',
                                'link',
                                'numberList',
                                'bulletList',
                                'quote',
                                'media',
                                'undo',
                                'redo',
                            ]}
                            defaultValue={content}
                            onChange={onChange}
                        />

但是,在编辑器中,文本以默认字符串的形式显示:

<p>Hola, como estamos? </p> <p><br></p> <p><strong>Ahora si esta funcionando bien, lo qeu pasaba es que </strong>volvia a asignar el valor default siempre</p> <p><br></p> <ol> <li>Ok.</li> </ol>

不让我编辑它。

这是onChange函数:

代码语言:javascript
运行
复制
const onChange = (data) => {
        let options = {
            entityStyleFn: (entity) => {
                const entityType = entity.get('type').toLowerCase()
                if (entityType === 'image') {
                    const data = entity.getData()
                    return {
                        element: 'img',
                        attributes: {
                            src: data.url,
                        },
                        style: {
                            // Put styles here...
                        },
                    }
                }
            },
        }
        setConfidentialityText(stateToHTML(data.getCurrentContent(), options))
    }

你能帮我找到一个解决方案吗!

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-09-22 04:47:43

默认值必须是字符串化的

Draft.Model.Encoding.RawDraftContentState对象。

doc中也提到过

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

https://stackoverflow.com/questions/68182832

复制
相关文章

相似问题

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