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

自定义控件常见问题解决方法

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

自定义控件常见问题解决方法

# 1 用户场景 随着客户个性化需求的日益增长,自定义控件扮演着越来越重要的角色。可以说,自定义控件是苍穹扩展的重要手段。目前,各业务项目组或者客户伙伴基本上都有自己的自定义控件,与之投入开发的人后端开发居多,导致开发过程中很少会自己分析并解决问题,因此本文将针对一些基本、常见的问题提出解决方案。 # 2 功能介绍 将教大家如何排查最基本、最常见的开发过程中遇到的自定义控件相关问题(报错等) 遇到问题可以先看浏览器控制台是否有报错 首先,动动手指头,按键盘“**F12**”将浏览器的 **开发者工具** 调出来(一般推荐chrome浏览器),点击并切换到该工具的"Console"面板 ![image.webp](/download/0100c714225699e6432db988e3d911886419.webp) 可以说,大多数的错误都可以在这里看到,但是有一些比较棘手的问题,可能需要由平台的老师来解决。 那么接下来,针对控制台的报错,将提供对应的分析以及解决问题的办法。 ## 2.1 404错误 这个错误在控制台里类似提示效果如下(注意"**404**"关键字): ![image.webp](/download/01005f88260d710e458abe07c0bcbbb5de7f.webp) 从报错信息中可以看出来,是自定义控件的index.js文件没有找到。没有找到资源文件的原因基本是以下几点: **1、请求路径错误** 以下内容包含正确和错误的路径示例(以及错误的原因): 错误路径: [https://feature.kingdee.com:2024/baseline_a/isv/kdtest/cq/](https://feature.kingdee.com:2024/baseline_a/isv/kdtest/cq/undefined/index.js?v=1)[undefined](https://feature.kingdee.com:2024/baseline_a/isv/kdtest/cq/undefined/index.js?v=1)[/index.js?v=1](https://feature.kingdee.com:2024/baseline_a/isv/kdtest/cq/undefined/index.js?v=1)(路径中有undefined) [https://feature.kingdee.com:2024/baseline_a/isv/kdtest/helloworld/index.js?v=1](https://feature.kingdee.com:2024/baseline_a/isv/kdtest/helloworld/index.js?v=1)(路径拼接错误,缺少isvId、moduleId、schemaId其中一个或者多个) 正确路径: [https://feature.kingdee.com:2024/baseline_a/isv/kdtest/cq/helloworld/index.js?v=1](https://feature.kingdee.com:2024/baseline_a/isv/kdtest/cq/helloworld/index.js?v=1) [https://feature.kingdee.com:2024/baseline_a/isv/kdtest/fi/helloworld/index.js?v=1](https://feature.kingdee.com:2024/baseline_a/isv/kdtest/fi/helloworld/index.js?v=1) **2、文件不在isv目录下所在领域对应的控件方案文件夹里** 如果是第一个原因造成的,可以直接联系总部前端技术服务部:何剑航 如果是第二个原因造成的,你可以按照下面思路排查: ① 如果是以上传zip包方式上传控件方案的,检查zip包的目录结构。注意,打包时,index.js一定是在包的根目录下的,即打开zip包第一眼看到的一定要有**index.js**; ② 如果按照第一点排查解决之后还是有问题,你就需要检查一下上传成功后,静态资源目录下有没有控件方案及其资源,一般在 **webapp/isv/开发商标识/领域标识/控件方案id/** 下(非zip包上传控件方案方式,即本地开发方式,此排查方式也适用); ③ 如果按照第二点排查解决之后还是有问题,那么需要检查一下Nginx的配置了,也有可能是代理的资源路径不正确; **3、没有预置脚本预插数据(如果不知道怎么写预置脚本可以询问部门架构师)** 如果按照以上还没有找到问题,请联系前端技术服务部:何剑航 ## 2.2 register报错 对应错误信息在浏览器控制台里是这样的: ![image.webp](/download/0100df06448e53be444287696bc33ddf98b4.webp) 此问题是**index.js**代码中**KDApi.register**的第一个参数和新建方案时填写的方案id不一致导致的,可以检查一下这两个地方填写的数据: 1、自定义控件的"**index.js**"文件中"**KDApi.resiger**"接口调用的"**第一个参数**" ![image.webp](/download/010099dac54bbcb6498abf8c8c3741ceaa73.webp) 2、设计器中创建的自定义控件"**控件方案**"其"**方案id**" ![image.webp](/download/0100238d4188a3da4ace908296ab7d7f3e0a.webp) ## 2.3 语法错误 犯了这种错很不应该,因为完全就是开发过程中的错误,最常见的错误可以是以下几种: **1、未声明变量直接用(类似)** ![image.webp](/download/0100bb4432bd25f0459dac56fe260dea76e6.webp) **2、代码缺胳膊瘸腿(括号没闭合、变量声明不规范**) ![image.webp](/download/010074ddf5c6125141e59193de3633ad1300.webp) **3、使用ES6语法(目前ES6语法在IE浏览器下普遍不支持的)** **4、移动端,使用Jquery报错(开发文档已经说明移动端默认不引入jquery,如果需要可自行通过KDApi.loadFile引入或者使用扩展js引入)** ![image.webp](/download/01003dbe60fcd1c349de9a00311d5d3d6a42.webp) ## 2.4 没有报错但就是啥也没有 一定要记住,出现这个问题的 前提是没有404错误、register错误、语法错误!!! 前提是没有404错误、register错误、语法错误!!! 前提是没有404错误、register错误、语法错误!!! 重要的事情说三遍!不要因为看了此小节标题直接跳过前面几个小节! 这种错误就是在UI渲染时出现了问题,除了React或者Vue写法的自定义控件外,有可能在这个地方出现问题: ![image.webp](/download/010010089a0d1d3e43ba8eb90af535f280e

自定义控件常见问题解决方法

# 1 用户场景随着客户个性化需求的日益增长,自定义控件扮演着越来越重要的角色。可以说,自定义控件是苍穹扩展的重要手段。目前,各业务...
点击下载文档文档为doc格式

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

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