QuillJs条跨度ID

时间:2018-07-06 13:17:54

标签: quill

我对编码还比较陌生,并且遇到了Quilljs的问题,我不知道如何解决。

用例:我想创建一个文本编辑器,使用户可以书写笔记,然后可以返回并为文本添加注释。从某种意义上说,与Google文档类似,人们可以根据需要添加评论和删除评论。在我的案例中,注释突出显示了文本的某些部分,并由此产生了见解。一切都按设计工作。我正在围绕突出显示的文本创建跨度,并为每个见解添加一个ID,以便用户以后认为他们实际上不是来自文本的见解时可以将其删除。

问题:在将文本重新加载到笔芯值中时,我注意到第一次初始加载具有我所有ID的正确信息,但是笔芯运行了一个onChange事件,该事件会更新状态并从文本中剥离ID

问题:如何防止Quilljs从文本中删除范围ID?我查看了文档和旧问题,但认为它们不适用于我的问题。

技术:我正在使用React-Quill Fwiw

编辑:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);

    modelBuilder.Entity<ChildOne>()
        .HasOne(p => p.ParentOne)
        .WithMany(c => c.ChildOnes)
        .HasForeignKey(fk => ((IChild<ParentOne>)fk).ForeignKey);

    modelBuilder.Entity<ChildOne>()
        .HasOne(p => p.ParentTwo)
        .WithMany(c => c.ChildOnes)
        .HasForeignKey(fk => ((IChild<ParentTwo>)fk).ForeignKey);
}

有人要求输入代码。这是我遇到问题的代码的精要部分。当我在import React, { Component } from 'react' import { connect } from 'react-redux' import { bindActionCreators, subscribe } from 'redux' import ReactQuill, {Quill, Mixin, Toolbar } from 'react-quill'; import * as actionCreators from './quillTestActions' class QuillTestContainer extends Component { constructor(props) { super(props) this.handleChange = this.handleChange.bind(this) this.state = { query: '', text: '', }; } componentDidMount() { this.setState({ text: this.props.Notes.selectedNote.props.text }) } handleChange(value){ this.setState({text: value}) } _modules(){ return { modules: { toolbar: [ [{ 'header': [1,2,3,4,false]}], ['bold', 'italic', 'underline', 'strike', 'blockquote', 'code-block'], [{'color': []}, {'background': []}], [{'list': 'ordered'}, {'list': 'bullet'}, {'indent': '-1'}, {'indent': '+1'}], ['link', 'image'], ['clean'] ], } } } render() { return ( <ReactQuill value = {this.state.text} modules = {this._modules().modules} onChange = {this.handleChange} /> ) } } function mapStateToProps (state) { return { Notes: state.Notes, } } function mapDispatchToProps(dispatch) { return { actions: bindActionCreators(actionCreators, dispatch) }; } export default connect( mapStateToProps, mapDispatchToProps )(QuillTestContainer) constructor中调出我的值时,一切看起来都不错,但是在componentDidMount之后,componentDidMount启动了,这从我的span类中剥离了id。例如,我可能有类似onChange这样的东西,其ID被剥夺了。

1 个答案:

答案 0 :(得分:0)

作为优化羽毛笔的一部分,可以删除span标签。您是否尝试过在代码中添加跨度印迹(扩展BlockEmbed)?添加它可以让您控制要创建的节点(在Spanblot的create函数内部)。请注意,您需要将“跨度”列入白名单,以便在编辑器中呈现此节点。