Closed miser closed 7 years ago
是直接报错导致编辑器不能显示出来,还是编辑器能显示出来,之后执行了例如插入图片、粘贴等的操作之后报错的? 我这边用你的配置,没出现报错。 handleHTMLChange这个方法的内容是什么? 另外你试试给img指定一个src试试?
@margox 加载初始内容的时候就报错了。 相关版本: braft-editor v1.1.4 react v15.6.2 draft-js v0.10.2 draft-convert v2.0.0
指定src貌似也没用,我刚刚试了试在初始化内容时加入link,也会有报错
import React from 'react'
import ReactDOM from 'react-dom'
// 引入编辑器以及编辑器样式
// import BraftEditor from 'braft-editor/src/index.jsx';
import BraftEditor from 'braft-editor';
require('braft-editor/dist/braft.css');
class MyEditor extends React.Component {
constructor(props) {
super(props);
this.state = {
content: null
}
}
uploadFn(param) {
const { uploadEditorImageToServer } = this.props;
const { dispatch } = this.props.store;
uploadEditorImageToServer(param, dispatch)
}
render() {
var { content } = this.props;
const editorProps = {
height: 500,
contentFormat: 'html',
initialContent: '<p>1<a href="dada" target="">3</a>2</p>',
onChange: this.handleChange,
// onHTMLChange: this.handleHTMLChange,
media: {
image: true, // 开启图片插入功能
video: false, // 开启视频插入功能
audio: false, // 开启音频插入功能
validateFn: null, // 指定本地校验函数,说明见下文
uploadFn: this.uploadFn.bind(this) // 指定上传函数,说明见下文
},
controls: [
'bold', 'italic', 'underline', 'strike-through', 'text-align', 'split',
'headings', 'list_ul', 'list_ol', 'blockquote', 'split',
'link', 'media'
]
}
return (
<div className="editor-desc">
<BraftEditor {...editorProps} />
</div>
)
}
handleChange = (content) => {
console.log(content)
}
// handleHTMLChange = (html) => {
// console.log(html)
// const { changeEditor, dispatch } = this.props
// changeEditor(html, dispatch);
// }
}
export default MyEditor;
我把 initialContent 改为
initialContent :'<p>1<a href="dada" target=""></a>2</p>'
就不报错了
用raw格式就一切没问题
我这边完全粘贴你的代码,然后安装跟你一样版本的依赖,也没出现报错,没法排查原因,略尴尬。 你试试升级draft-js到0.10.3试试? 另外你已经fork了这个项目,如果方便的话,能直接引用开发环境的braft-editor来看看报错是在哪里产生的吗?
刚才修改了一下对draft-convert的调用逻辑,发布了1.1.5版本,你更新一下看看能不能解决问题?
神奇般的好了,谢谢。
很奇怪,我在 example 里面
<p>1<a href="dada" target="">3</a>2</p>
貌似也不报错,但是放到项目中就有问题,可能我遗漏了什么细节。
对draft-js不懂,帮不上什么忙。
initialContent为HTML内容时,并且存在img标签时会报错,如下
vendor.bundle.js:392 Uncaught Error: Unknown DraftEntity key: 1. at invariant (vendor.bundle.js:392) at Object.__get (app.bundle.js:7263) at ContentState.getEntity (app.bundle.js:7933) at app.bundle.js:51105 at findRangesImmutable (app.bundle.js:7004) at ContentBlock.findEntityRanges (app.bundle.js:6281) at r (app.bundle.js:51104) at app.bundle.js:53940 at Array.forEach ()
at CompositeDraftDecorator.getDecorations (app.bundle.js:53928)