Reactjs React Quill-错误您可能希望改为'editor.getContents()'
当我保存表单(onSubmit)时,我得到一个错误:您正在将Reactjs React Quill-错误您可能希望改为'editor.getContents()',reactjs,quill,Reactjs,Quill,当我保存表单(onSubmit)时,我得到一个错误:您正在将delta对象作为值从onChange事件传回。您最可能需要的是editor.getContents() 脚本的其余部分运行正常,并按预期将所有内容写入数据库,但React Quill会触发错误并挂起页面 要定义editor.getContents(),我需要做什么 导出默认类CreateDiscussionForm扩展组件{ 建造师(道具){ 超级(道具); 此.state={ 错误:“”, 编辑器HTML:“” }; this.ha
delta
对象作为值
从onChange
事件传回。您最可能需要的是editor.getContents()
脚本的其余部分运行正常,并按预期将所有内容写入数据库,但React Quill会触发错误并挂起页面
要定义editor.getContents()
,我需要做什么
导出默认类CreateDiscussionForm扩展组件{
建造师(道具){
超级(道具);
此.state={
错误:“”,
编辑器HTML:“”
};
this.handleChange=this.handleChange.bind(this);
}
handleChange(html){
this.setState({editorHtml:html});
}
提交(e){
var background=this.state.editorHtml;
console.log('background',background);//测试
//…代码的其余部分
提前感谢-Bob不确定为什么Quill将初始值解释为增量根,但我通过传递一个空字符串解决了此警告,如下所示:
<ReactQuill
name="editor"
onChange={this.handleChange}
value={this.state.editorHtml || ''}
/>
错误链接到此,顺便说一句:
这是对奎尔所解释的三角洲的更高级描述:
(基本上,Delta是以json格式存储的更改,它们是在quill之外处理的,这意味着它是一个外部库)您应该访问以下值,而不是尝试访问
event.target.value
:
<ReactQuill value={about} onChange={handleQuillChange} />
const handleQuillChange = value => {
console.log(value);
};
const handleQuillChange=值=>{
console.log(值);
};
我在ant design pro
项目的表单中使用了它,并通过添加初始值来修复它:
<FormItem labelCol={{ span: 2 }} wrapperCol={{ span: 30, offset: 2 }} label="Current Week Report">
{form.getFieldDecorator('currentWeekReport', {
rules: [{ required: true, message: 'Please enter at least five letters', min: 5 }],
initialValue: ''
})(<ReactQuill placeholder="please enter at least five letters" />)}
</FormItem>
{form.getFieldDecorator('currentWeekReport'{
规则:[{必需:true,消息:“请输入至少五个字母”,min:5}],
初始值:“”
})()}
目前,我也面临着同样的问题,无法使用.getContents()
它可以工作,因为对于未定义的值,它就像根本没有值一样。在调用on change之前,您必须访问组件的值。将空值设置为默认值可以节省时间。为什么要在状态变量中设置默认值?
<FormItem labelCol={{ span: 2 }} wrapperCol={{ span: 30, offset: 2 }} label="Current Week Report">
{form.getFieldDecorator('currentWeekReport', {
rules: [{ required: true, message: 'Please enter at least five letters', min: 5 }],
initialValue: ''
})(<ReactQuill placeholder="please enter at least five letters" />)}
</FormItem>