电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

自定义控件开发入门篇

来源:金蝶云社区作者:金蝶2024-09-234

自定义控件开发入门篇

# 1 用户场景 苍穹平台目前在web端、移动端分别提供了众多标准控件,可以满足业务场景绝大部分通用场景开发。但是面对特殊或者个性化需求时,平台支持开发自定义控件方式扩展平台控件。简单来讲,当平台提供的控件不能完全满足业务所需要的场景时,开发者可以使用自定义控件重新去实现一个全新的控件。从前端到后端完全自定义控件自主开发,因此更适合有前端开发经验的开发者。 # 2 功能介绍 下文会通过一个最简单的例子:**hello world **的开发,来给大家介绍开发自定义控件的每一个步骤。 # 3 操作步骤 ## 3.1 快速入门 ### 3.1.1 新建目录 本地任意目录新建一个**helloworld**目录, 在该目录下新建**index.js**文件: ![image.webp](/download/01003c26ad59e2754362936c8f9db6f6a952.webp) ### 3.1.2 开发 使用编辑器打开 **helloworld** 文件夹,并将下面代码(**可以先忽略代码逻辑,后面会描述**)添加到 **index.js** 文件中: ```js /** * 自定义控件书写模板 */ (function(KDApi, $){ // 构造函数,变量名随意,与最后一句代码的KDApi.register的第二个参数一致即可 function HelloWorld (model) { this._setModel(model) } // 原型中封装生命周期函数,固定格式 HelloWorld.prototype = { _setModel: function(model) { this.model = model }, init: function(props){ // TO DO initFunc(this.model, props) }, update: function(props){ // TO DO }, destoryed: function(){ // TO DO } } // Other Code var initFunc = function(model, props) { model.dom.innerHTML = 'init: Hello World!' } // 你只需知道第一个参数是你接下来要新增控件方案时填的方案id,第二个参数是上面声明的构造函数 KDApi.register('helloworld', HelloWorld) })(window.KDApi, jQuery) // 这里的jQuery不是必须要传进去的,可移除,要用到的时候才传,PC端系统默认会有jQuery对象,版本是1.12.4 ``` 注:以上模板适用于PC端的自定义控件开发,如果是移动端的自定义控件开发,则需要将模板中使用的 **jQuery** 对象("$")去除,移动端不提供 **jQuery** 对象。如果移动端需要使用 jQuery,可以通过 **全局扩展JS**或者自定义控件内部的**KDApi.loadFile**接口自行加载。 ### 3.1.3 打包 将 **helloworld** 目录下的文件打成 **zip** 包,注意不要将 **helloworld** 文件夹也打包,只需要其目录下的文件,且 **zip** 包下根目录必须要有 **index.js** 文件。 ### 3.1.4 上传 接下来在**设计器**左侧的控件列表找到"**自定义控件**",通过点击或拖拽操作把该控件添加到页面中,并设置其"标识"为 **helloworld**。 在设计器右侧的**控件属性**面板中点击设置"**控件方案**"属性,在弹出的“**控件方案列表**”中点击“**新增**”按钮,弹出"**控件方案**"界面新增控件方案,"方案id"填写为 **helloworld**,"领域标识"为 **cq** ,并且选择上传 **helloworld.zip** 。 * 左侧导航找”自定义控件“: ![image.webp](/download/010098914049d2ac44128dfa6a3498569fe9.webp) * 在"**控件方案**"界面的"**资源文件**"区域上传”helloworld.zip“包: ![image.webp](/download/0100f09855ffabc44bb3932c0590293db593.webp) 注意:本地环境不会显示资源文件上传区域,开发流程请参考[标准产品开发自定义控件全流程](https://vip.kingdee.com/article/218081486686564608) * 在"**控件方案**"界面点击 **保存**,之后在"**控件方案列表**"界面选择这条新建的方案,并点击 **返回数据** ![image.webp](/download/01002c7da1d6ae7d4d1eb782038ee16c7f2f.webp) ### 3.1.5 预览 在设计器上点击 **保存** 按钮,之后点击 **预览** 按钮 ![image.webp](/download/01002e63bff403cf49bb9f64407ed1a89308.webp) 预览结果: ![image.webp](/download/0100caaeb7d1a2ab43dda7961064b25c647a.webp) 第一个例子 **helloWorld** 就到此完成 回顾上面例子,完成一个自定义控件的步骤总结如下: 1. 新建一个包含 **index.js** 文件的目录, **index.js** 是程序主入口; 2. 按照模版代码编辑前端 **javascript** 逻辑,完成后打包成 **zip** ; 3. 设计器上新增自定义控件,点击**新增控件方案**,上传 **zip** 包,方案和 **zip** 关联;自定义控件选择该方案,返回数据; 4. .在页面上点击保存并且预览,就可以看到自定义控件的内容。 ## 3.2 结构样式分离 **

自定义控件开发入门篇

# 1 用户场景苍穹平台目前在web端、移动端分别提供了众多标准控件,可以满足业务场景绝大部分通用场景开发。但是面对特殊或者个性化需求...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信