在编辑加载时设置初始值是非常有必要的,在大部分情况下这是必须的,如当我们打开一个已有的文档时,必须把上一次保存过的数据重新载入到编辑器,这就需要给编辑器设置初始值。
有两种方式给编辑器设置初始值:
在编辑器load方法中传入初始值
当开打一个已有文档时,你一般会通过http请求获取到了文档的数据,其中也包括已经存储过的编辑器数据,然后就可以在load方法中传入:
//通过请求获取编辑器数据(json格式)
//这里假设获取到的数如下
const data = {
"fileno": "XXX",
"subject": "关于XXX的通知",
"mainSend": ["单位1", "单位2"]
...
}
const editor = await DocEditor.createEditor(div, {
base: './doceditor/'
});
//传入data即可
editor.load(data);
您可以在在线编辑器中尝试:在线运行本样例
实现service中的getData方法
service是用于DocEditor编辑器与后端交互要实现的对象。(关于service,将在服务端交互章节中详细介绍)本章中我们简单介绍一下service中的getData方法。
我们可以在service中的getData方法中从服务器获取已经存储过的编辑器数据,并返回,用于设置编辑器初始值:
const service = new DocEditor.Service();
service.getData = function(docId){
//实现获取编辑器数据
//docId为初始编辑器时传入的docId配置项
//返回json对象,或 一个promise,resolve 时回传 编辑器值的json 对象。
return {
"fileno": "XXX",
"subject": "关于XXX的通知",
"mainSend": ["单位1", "单位2"]
//...
}
};
//将servicec作为参数传入createEditor方法
const editor = await DocEditor.createEditor(div, {
base: './doceditor/',
docId: 'xxxxxxx'
}, service);
editor.load();
您可以在在线编辑器中尝试:在线运行本样例