CKEditor 5:如何向上/向下转换非元素文本字符串?

问题描述

假设有以下输入:

<p>This is a string that contains a <span class="token">[some_token]</span>.</p>

这可以轻松升级为模型:

const conversion = this.editor.conversion;
    conversion.for( 'upcast' ).elementtoElement( {
        view: {
            name: 'span',classes: [ 'token' ]
        },model: ( viewElement,{ writer: modelWriter } ) => {
            const name = viewElement.getChild( 0 ).data.slice( 1,-1 );

            return modelWriter.createElement( 'token',{ name } );
        }
    } );

然后向下转换为小部件:

conversion.for( 'editingDowncast' ).elementtoElement( {
        model: 'token',view: ( modelItem,{ writer: viewWriter } ) => {
            const widgetElement = createtokenViewElement( modelItem,viewWriter );
            viewWriter.addClass('token',widgetElement);
            return toWidget( widgetElement,viewWriter );
        }
    } );

但是,假设您不想将 [some_token] 包装在 <span> 元素中...

鉴于此输入:

<p>This is a string that contains a [some_token].</p>

如果没有将 [some_token] 包裹在一个跨度中,如何类似地向上和向下转换?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)