gpt4 book ai didi

javascript - 使用 Promise 进行 CKEditor 5 模型转换

转载 作者:行者123 更新时间:2023-12-03 00:39:25 24 4
gpt4 key购买 nike

我正在创建一个 CKEditor 5 插件,它必须根据 REST 调用的结果显示一个列表。我通过以下方式注册了我的架构项目:

editor.model.schema.register('myItem', {
allowIn: '$root',
isBlock: true,
isObject: true
});

然后添加转换器:

editor.conversion.for('upcast').add(upcastElementToElement({
view: {
name: 'div',
classes: 'myItem'
},
model: 'myItem'
}));
editor.conversion.for('dataDowncast').add(downcastElementToElement({
model: 'myItem',
view: (modelElement, viewWriter) => {
return getContent(modelElement, viewWriter);
}
}));
editor.conversion.for('editingDowncast').add(downcastElementToElement({
model: 'myItem',
view: (modelElement, viewWriter) => {
const div = getContent(editor.model, viewWriter);

return toWidget( div, viewWriter, { label: 'widget label' } );
}
}));

我的 getContent 方法负责通过 REST 调用获取数据。我的问题是,如果我使用 axios 或 fetch 来获取数据,它会返回一个 Promise,并且我不知道如何将结果传递给“view”属性传递给 downcastElementToElement 方法的对象的名称。这个“view”属性需要一个返回要显示的对象的函数。有办法实现吗?

最佳答案

CKEditor 5 不支持异步转换。它会使转换变得复杂,并且会提供糟糕的体验,因为编辑器在获取过程中需要锁定。我建议创建一个同步转换,然后在提取后将其替换为数据库中的特定元素。

关于javascript - 使用 Promise 进行 CKEditor 5 模型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53522832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com