我正在使用出色的Slate编辑器构建编辑器,但是我在执行某项任务时遇到了麻烦。我构建了一个拖放图像上传,可以成功上传图像(通过 API,与 Slate 无关(并将它们插入编辑器。但是,如果用户在编辑器中删除图像,我想从服务器中删除图像。有没有办法在从state
中删除某种node
类型时触发函数?
我刚刚开始研究石板并正在研究同样的问题。我的解决方案是:
- 创建用于图像处理
(options) => { /* plugin object */}
的插件函数 - 在这个插件函数中,在
schema.nodes
中,返回一个围绕我的主Image
组件的包装器,该组件从 options 参数设置onDelete
道具。
//ImagePlugin function
export default function ImagePlugin(options) {
return {
schema: {
nodes: {
image: props => <Image
{...Object.assign({ onDelete: options.onDelete }, props) } />
}
}
}