@水哥工坊
您好,我按照您发布的页签重写的文章做了复现,但好像我的组件没有被加载,代码与您的稍有不同
let enable = true; //代码总开头
// 此自定义函数使用内置功能异步加载模块组件
const NewPage = (props) => {
const acParams = {
appId:'${appId}', //appId会自动识别
name:'DemoCom', //模块名称
isPage:false, //是否是路由页面
noCss:true, //是否禁止单独加载css,通常为了减少css数量,css默认前置加载
props:props,
}
return ecodeSDK.getAsyncCom(acParams);
}
ecodeSDK.overwritePropsFnQueueMapSet('WeaReqTop', {
fn: (newProps) => {
if (!enable) return;
if (!ecodeSDK.checkLPath('/spa/crm/static/index.html#/main/crm/contacterView')) return; //通过url过滤非新建流程页面
if (newProps._noOverwrite) return; //判断组件是否允许复写
// 新增页签
newProps.tabDatas.push(
{
title:"建模查询",
key:"newTabKey"
});
if(newProps.selectedKey==="newTabKey") {
newProps.children.push(NewPage);
}
return newProps;
},
order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用
desc:'${appId}-在这里写此复写的作用,在调试的时候方便查找'
});
这是register.js的代码
// 创建React 类组件 DemoCom
const { Button } = antd;
class DemoCom extends React.Component {
sendsms = () => {
alert('按键回调动作!')
}
render() {
return (
<div style={{padding:30}}>
<h1>这是一个测试自定义页签</h1>
<button onClick={this.sendsms}>点击提示</button>
</div>
)
}
}
//发布模块
ecodeSDK.setCom('${appId}','DemoCom',DemoCom);
这是index的代码
为什么点击页签后,页面是空白呢