多个自定义控件不展示

问题描述
以下两种情况,都可能出现自定义控件不展示的问题。
(1)在苍穹应用首页里面,打开多个单据在页签上,多个单据使用同一个自定义控件方案,仅有一个自定义控件能正常显示,其他自定义控件空白。
(2)一个单据中,有多个相同的自定义控件方案,仅能展示其中一个,其他自定义控件空白,不显示。
其他自定义控件出现空白。如下图:

解决方法
原因分析
自定义控件会在苍穹里面添加对应的html标签,如果自定义控件的html文件里面存在id,而引用了2个相同的控件方案,那么会存在两个相同的id。
例如以下代码,id为"allmap",如果使用了2个相同的自定义控件方案,那么苍穹页面上就会有2个id为"allmap"的div标签,js代码在执行getElementById()方法的时候,永远只会取得第一个div标签,而第二个div标签就不会被初始化。


解决方案
我们可以修改代码,让div标签的id不写死。
生成一个随机id,给html的div赋值
index.js代码如下:
function guid() {
//生成一个随机id
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random() * 16 | 0,
v = c多个自定义控件不展示
问题描述以下两种情况,都可能出现自定义控件不展示的问题。(1)在苍穹应用首页里面,打开多个单据在页签上,多个单据使用同一个自定义控...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



