使用VUE组件创建SpreadJS自定义单元格(二)
时间:2023-03-28 19:05:12
HTML
需要注意的几点:组件为相应的单元格提供文本(或值)属性需要编辑的值。如果组件不使用模型的双向绑定,则需要在运行后主动更新文本。提供cellStyle,用户CellType,根据cell大小控制组件的大小。如果注入的DOM元素不在模板div里面,需要添加gcUIEelement属性,原因在之前的文章2中有详细解释。autoComplete直接挂载组件,不需要额外的动态声明。从'../components/AutoComplete'AutoComplateCellType.prototype.activateEditor=function(editorContext,cellStyle,cellRect,context)导入AutoComplete{letwidth=cellRect.width>180?cellRect.width:180;if(editorContext){//创建组件构造函数constAutoCompleteCtor=Vue.extend(AutoComplete);this.vm=newAutoCompleteCtor({propsData:{cellStyle:{width:width+"px"}}}).$mount(editorContext.firstChild);}};其余代码不变,这样不仅不需要runtimeCompiler,而且代码的可维护性也提高了。本系列两篇文章为大家详细介绍了使用两种不同的方法来解决由于框架生命周期和自定义cell渲染逻辑,目前无法直接在框架页面下使用框架下组件的问题模板方法。但是我们使用Vue成功解决了这个问题,并通过第二种方式进行了优化,有效提高了代码的可维护性。未来,我们还会从其他角度为大家带来更多有趣的内容~如果你对纯前端电子表格SpreadJS的其他强大功能感兴趣,可以实际体验一下。