说明
- 模板应当预设当前类型文档需要使用的源数据,以供编辑模板过程中设置元素使用
- 文档实体(病历)-不需要预设源数据,而是采用[动态][按需]加载的模式
模板预设源数据示例
更多代码可参考demo程序
thinkEditor.SetSource("机构", "机构名", "");
/********************病人基础资料*************************/
thinkEditor.SetSource("基本资料", "姓名", "");
文档实体(病历) -[动态][按需]加载源数据示例
在事件setElementContent.request中设置需要的源数据。
step1: 设置监听
async mounted () {
ThinkEditor.addEventListener("setElementContent", this.setElemetnContentListener);
}
step2: 按需设置源数据
methods: {
setElemetnContentListener(e){
console.log(e);
var allow=true;
var data = e.data;
if(data.handle=="request")
{//请求设置元素内容
/* 提取元素信息 */
var id = data.id;
var name = data.name;
var source_class = data["source-class"];
var source_id = data["source-id"];
let thinkEditorDemo = new ThinkEditorDemo();
if(source_class != "" && source_id != "" //该元素需要源
&& data.has_source == false)//该元素没有加载源
{
/*
ProduceEntitySourceData、HasEntitySourceExist、GetEntitySource
三个方法都是演示方法,第三方应用应当使用source_class、source_id去自己的业务系统中找是否存在源
最终调用ThinkEditor.SetSource()实现按需设置源数据
*/
thinkEditorDemo.ProduceEntitySourceData();//构造文档实体使用的测试源数据
if(thinkEditorDemo.HasEntitySourceExist(source_class, source_id))
{
var fragment = thinkEditorDemo.GetEntitySource(source_class, source_id);
ThinkEditor.SetSource(source_class, source_id, fragment);
}
}
}
return allow;
}
}
文档更新时间: 2025-02-07 10:35 作者:admin