四 组件参数复写
title: ecode文档 - 四、组件参数复写 created: 2026-04-19 updated: 2026-04-19 type: reference tags: [oa, ecode, weaver, frontend] related: [oa/ecode-guide.md] source: https://e-cloudstore.com/doc.html
ecode, weaver, frontend] related: [oa/ecode-guide.md] source: https://e-cloudstore.com/doc.html ---#### 四、组件参数复写
可以对EC全系统组件参数进行配置,支持[组件站] (外部文档缺失)中大部分组件参数,相当于全系统视图参数配置,部分复写方案项目人员也可上手,比如常见的修改表单富文本、隐藏页面部分元素、在界面中添加按钮等等场景,我们会不断提供各种案例让大家参考
可以对EC全系统组件参数进行配置,支持[组件站] (外部文档缺失)中大部分组件参数,相当于全系统视图参数配置,部分复写方案项目人员也可上手,比如常见的修改表单富文本、隐藏页面部分元素、在界面中添加按钮等等场景,我们会不断提供各种案例让大家参考
[组件站] (外部文档缺失)
1、PC端组件参数复写
ecodeSDK.overwritePropsFnQueueMapSet(name,option)
ecodeSDK.overwritePropsFnQueueMapSet(name,option)
ecology版本要求:1906及1906+
ecology版本要求:1906及1906+
(1)参数说明
| 参数 | 说明 | 类型 | 可选 | 默认 | 备注 |
|---|---|---|---|---|---|
| name | 组件名 | string | 必填 | ‘’ | 包含 组件站 PC组件库ecCom、antd大部分组件 ,其中Radio、Radio.Button、Tree.TreeNode、Menu.ItemGruop、Select.Option、Select.OptGroup、SelectNew.Option、SelectNew.OptGroup暂不支持复写 |
| option | 复写配置 | object | 必填 | {} | |
| option.fn | 复写钩子函数 | function | 必填 | (newProps)=>{} | |
| option.order | 复写排序 | integer | 选填 | 0 | |
| option.desc | 复写说明 | string | 选填 | ‘’ | 无 |
参数 说明 类型 可选 默认 备注
参数 说明 类型 可选 默认 备注 参数说明类型可选默认备注
name 组件名 string 必填 ‘’ 包含 [组件站] (外部文档缺失) PC组件库ecCom、antd大部分组件 ,其中Radio、Radio.Button、Tree.TreeNode、Menu.ItemGruop、Select.Option、Select.OptGroup、SelectNew.Option、SelectNew.OptGroup暂不支持复写
option 复写配置 object 必填 {}
option.fn 复写钩子函数 function 必填 (newProps)=>{}
option.order 复写排序 integer 选填 0
option.desc 复写说明 string 选填 ‘’ 无 n 复写钩子函数 function 必填 (newProps)=>{}
option.order 复写排序 integer 选填 0
option.desc 复写说明 string 选填 ‘’ 无name 组件名 string 必填 ‘’ 包含 [组件站] (外部文档缺失) PC组件库ecCom、antd大部分组件 ,其中Radio、Radio.Button、Tree.TreeNode、Menu.ItemGruop、Select.Option、Select.OptGroup、SelectNew.Option、SelectNew.OptGroup暂不支持复写 name组件名string必填‘’包含 [组件站] (外部文档缺失) PC组件库ecCom、antd大部分组件 ,其中Radio、Radio.Button、Tree.TreeNode、Menu.ItemGruop、Select.Option、Select.OptGroup、SelectNew.Option、SelectNew.OptGroup暂不支持复写[组件站] (外部文档缺失) option 复写配置 object 必填 {}
option复写配置object必填{} option.fn 复写钩子函数 function 必填 (newProps)=>{}
option.fn复写钩子函数function必填(newProps)=>{} option.order 复写排序 integer 选填 0
option.order复写排序integer选填0 option.desc 复写说明 string 选填 ‘’ 无 option.desc复写说明string选填‘’无
(2)基本例子
首先需要创建ecode项目,请参考(二、如何开始ecode项目)进行操作,创建成功如图
首先需要创建ecode项目,请参考(二、如何开始ecode项目)进行操作,创建成功如图


其中register.js的代码如下
其中register.js的代码如下
ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名
fn:(newProps)=>{ //newProps代表组件参数
//进行位置判断
},
order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用
desc:'在这里写此复写的作用,在调试的时候方便查找'
});
`1. `ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名`
2. ` fn:(newProps)=>{ //newProps代表组件参数`
3. ` //进行位置判断`
4. ` },`
5. ` order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用`
6. ` desc:'在这里写此复写的作用,在调试的时候方便查找'`
7. `});`
`ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名 fn:(newProps)=>{ //newProps代表组件参数fn:(newProps)=>{ //newProps代表组件参数` fn:(newProps)=>{ //newProps代表组件参数` //进行位置判断 //进行位置判断//进行位置判断 },},` },` order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用 order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用 desc:'在这里写此复写的作用,在调试的时候方便查找'desc:'在这里写此复写的作用,在调试的时候方便查找'` desc:'在这里写此复写的作用,在调试的时候方便查找'`});});`});
(3)如何定位组件及其参数
在[组件站] (外部文档缺失)PC组件库中的组件与所需要修改的组件进行对比,比如下图中我们发现了WeaTop这个组件
在[组件站] (外部文档缺失)PC组件库中的组件与所需要修改的组件进行对比,比如下图中我们发现了WeaTop这个组件
[组件站] (外部文档缺失)


当然有些组件不一定能通过查看完全确认,我们需要进一步通过日志确认是否正确
当然有些组件不一定能通过查看完全确认,我们需要进一步通过日志确认是否正确
ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名
fn:(newProps)=>{ //newProps代表组件参数
console.log('WeaTop:',newProps); //在这里输出日志,如果成功输出代表组件成功定位
},
order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用
desc:'在这里写此复写的作用,在调试的时候方便查找'
});
`1. `ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名`
2. ` fn:(newProps)=>{ //newProps代表组件参数`
3. ` console.log('WeaTop:',newProps); //在这里输出日志,如果成功输出代表组件成功定位`
4. ` },`
5. ` order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用`
6. ` desc:'在这里写此复写的作用,在调试的时候方便查找'`
7. `});`
`ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名 fn:(newProps)=>{ //newProps代表组件参数fn:(newProps)=>{ //newProps代表组件参数` fn:(newProps)=>{ //newProps代表组件参数` console.log('WeaTop:',newProps); //在这里输出日志,如果成功输出代表组件成功定位 console.log('WeaTop:',newProps); //在这里输出日志,如果成功输出代表组件成功定位console.log('WeaTop:',newProps); //在这里输出日志,如果成功输出代表组件成功定位 },},` },` order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用 order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用 desc:'在这里写此复写的作用,在调试的时候方便查找'desc:'在这里写此复写的作用,在调试的时候方便查找'` desc:'在这里写此复写的作用,在调试的时候方便查找'`});});`});
日志不输出,通常要先检查代码是否正常生成,chrome浏览器F12 Newwork 中,查找init.js,在js中搜索复写代码,如果存在,但数据还是没有打印,那就要进一步到源码确认,如何查看源码,请查看(三、如何查看前端源代码)
日志不输出,通常要先检查代码是否正常生成,chrome浏览器F12 Newwork 中,查找init.js,在js中搜索复写代码,如果存在,但数据还是没有打印,那就要进一步到源码确认,如何查看源码,请查看(三、如何查看前端源代码)

找到组件之后我们需要找到能解决我们需求的组件参数,比如当我需要修改顶部菜单按钮的情况,同样的在[组件站] (外部文档缺失)PC组件库中我们可以找到每一个参数的详细说明
找到组件之后我们需要找到能解决我们需求的组件参数,比如当我需要修改顶部菜单按钮的情况,同样的在[组件站] (外部文档缺失)PC组件库中我们可以找到每一个参数的详细说明 以找到每一个参数的详细说明
找到组件之后我们需要找到能解决我们需求的组件参数,比如当我需要修改顶部菜单按钮的情况,同样的在[组件站] (外部文档缺失)PC组件库中我们可以找到每一个参数的详细说明[组件站] (外部文档缺失)


(4)如何开发调试
复写组件参数第一件事情,判断组件渲染位置
复写组件参数第一件事情,判断组件渲染位置
const getLb = (id,name)=>{
const {WeaLocaleProvider} = ecCom;
const getLabel = WeaLocaleProvider.getLabel;
return getLabel(id, name);
}
ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名
fn:(newProps)=>{ //newProps代表组件参数
//可以通过地址栏判断,此函数会自动匹配实际html为/wui/index.html 且hash为#/main/workflow/listDoing的页面,如果html含参数/wui/index.html?xxx=ssss也支持判断
if(!ecodeSDK.checkLPath('/wui/index.html#/main/workflow/listDoing')) return ;
//也可以通过newProps.className、newProps.id 等等业务参数来判断,也可以调用业务api判断 ,如果组件页面内只存在一个,地址判断即可
},
order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用
desc:'在这里写此复写的作用,在调试的时候方便查找'
});
`1. `const getLb = (id,name)=>{`
2. ` const {WeaLocaleProvider} = ecCom;`
3. ` const getLabel = WeaLocaleProvider.getLabel;`
4. ` return getLabel(id, name);`
5. `}`
6.
7. ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名
8. fn:(newProps)=>{ //newProps代表组件参数
9. //可以通过地址栏判断,此函数会自动匹配实际html为/wui/index.html 且hash为#/main/workflow/listDoing的页面,如果html含参数/wui/index.html?xxx=ssss也支持判断
10. if(!ecodeSDK.checkLPath('/wui/index.html#/main/workflow/listDoing')) return ;
11. //也可以通过newProps.className、newProps.id 等等业务参数来判断,也可以调用业务api判断 ,如果组件页面内只存在一个,地址判断即可
12. },
13. order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用
14. desc:'在这里写此复写的作用,在调试的时候方便查找'
15. });
const getLb = (id,name)=>{``const getLb = (id,name)=>{const getLb = (id,name)=>{const {WeaLocaleProvider} = ecCom;`` const {WeaLocaleProvider} = ecCom; const {WeaLocaleProvider} = ecCom;const getLabel = WeaLocaleProvider.getLabel;`` const getLabel = WeaLocaleProvider.getLabel; const getLabel = WeaLocaleProvider.getLabel;return getLabel(id, name);`` return getLabel(id, name); return getLabel(id, name);}``}}```ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名 fn:(newProps)=>{ //newProps代表组件参数fn:(newProps)=>{ //newProps代表组件参数` fn:(newProps)=>{ //newProps代表组件参数` //可以通过地址栏判断,此函数会自动匹配实际html为/wui/index.html 且hash为#/main/wor
n:(newProps)=>{ //newProps代表组件参数` //可以通过地址栏判断,此函数会自动匹配实际html为/wui/index.html 且hash为#/main/worn:(newProps)=>{ //newProps代表组件参数` //可以通过地址栏判断,此函数会自动匹配实际html为/wui/index.html 且hash为#/main/workflow/listDoing的页面,如果html含参数/wui/index.html?xxx=ssss也支持判断 //可以通过地址栏判断,此函数会自动匹配实际html为/wui/index.html 且hash为#/main/workflow/listDoing的页面,如果html含参数/wui/index.html?xxx=ssss也支持判断//可以通过地址栏判断,此函数会自动匹配实际html为/wui/index.html 且hash为#/main/workflow/listDoing的页面,如果html含参数/wui/index.html?xxx=ssss也支持判断 if(!ecodeSDK.checkLPath('/wui/index.html#/main/workflow/listDoing')) return ;if(!ecodeSDK.checkLPath('/wui/index.html#/main/workflow/listDoing')) return ;` if(!ecodeSDK.checkLPath('/wui/index.html#/main/workflow/listDoing')) return ;` //也可以通过newProps.className、newProps.id 等等业务参数来判断,也可以调用业务api判断 ,如果组件页面内只存在一个,地址判断即可 //也可以通过newProps.className、newProps.id 等等业务参数来判断,也可以调用业务api判断 ,如果组件页面内只存在一个,地址判断即可//也可以通过newProps.className、newProps.id 等等业务参数来判断,也可以调用业务api判断 ,如果组件页面内只存在一个,地址判断即可 },},` },` order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用 order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用 desc:'在这里写此复写的作用,在调试的时候方便查找'desc:'在这里写此复写的作用,在调试的时候方便查找'` desc:'在这里写此复写的作用,在调试的时候方便查找'`});});});
'在这里写此复写的作用,在调试的时候方便查找'`` desc:'在这里写此复写的作用,在调试的时候方便查找' desc:'在这里写此复写的作用,在调试的时候方便查找'});``});});> 找到参数后,我们可以直接对参数进行修改,以下是常见类型的改法
找到参数后,我们可以直接对参数进行修改,以下是常见类型的改法
ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名
fn:(newProps)=>{ //newProps代表组件参数
if(!ecodeSDK.checkLPath('/wui/index.html#/main/workflow/listDoing')) return ;
console.log('WeaTop:',newProps); //在这里输出日志,如果成功输出代表组件成功定位
//数组操作,引入组件,可以放入任意位置,数组元素的类型必须匹配,修改对应数据必须判断下标
const {Button} = antd;
if(newProps.buttons.length>=1) newProps.buttons[0] = (<Button>测试</Button>);
//组件操作,可追加或者更换或者注入组件
newProps.children = [newProps.children,(<div>我的自定义内容,也可以放dialog</div>)];
//className、style修改,并给到特殊样式
newProps.className = 'my-new-class';
newProps.style = {
color:'red'
};
//icon修改
newProps.icon = (<i className="icon-coms-download2" />);
return newProps; //修改之后返回数据
},
order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用
desc:'在这里写此复写的作用,在调试的时候方便查找'
});
`1. `ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名`
2. ` fn:(newProps)=>{ //newProps代表组件参数`
3. ` if(!ecodeSDK.checkLPath('/wui/index.html#/main/workflow/listDoing')) return ;`
4. ` console.log('WeaTop:',newProps); //在这里输出日志,如果成功输出代表组件成功定位`
5. ` //数组操作,引入组件,可以放入任意位置,数组元素的类型必须匹配,修改对应数据必须判断下标`
6. ` const {Button} = antd;`
7. ` if(newProps.buttons.length>=1) newProps.buttons[0] = (<Button>测试</Button>);`
8. ` //组件操作,可追加或者更换或者注入组件`
9. ` newProps.children = [newProps.children,(<div>我的自定义内容,也可以放dialog</div>)];`
10. ` //className、style修改,并给到特殊样式`
11. ` newProps.className = 'my-new-class';`
12. ` newProps.style = {`
13. ` color:'red'`
14. ` };`
15. ` //icon修改`
16. ` newProps.icon = (<i className="icon-coms-download2" />);`
17. ` return newProps; //修改之后返回数据`
18. ` },`
19. ` order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用`
20. ` desc:'在这里写此复写的作用,在调试的时候方便查找'`
21. `});`
`ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{ //组件名 fn:(newProps)=>{ //newProps代表组件参数fn:(newProps)=>{ //newProps代表组件参数` fn:(newProps)=>{ //newProps代表组件参数` if(!ecodeSDK.checkLPath('/wui/index.html#/main/workflow/listDoing')) return ; if(!ecodeSDK.checkLPath('/wui/index.html#/main/workflow/listDoing')) return ;if(!ecodeSDK.checkLPath('/wui/index.html#/main/workflow/lis
ml#/main/workflow/listDoing')) return ; if(!ecodeSDK.checkLPath('/wui/index.html#/main/workflow/lisml#/main/workflow/listDoing')) return ;if(!ecodeSDK.checkLPath('/wui/index.html#/main/workflow/listDoing')) return ; console.log('WeaTop:',newProps); //在这里输出日志,如果成功输出代表组件成功定位console.log('WeaTop:',newProps); //在这里输出日志,如果成功输出代表组件成功定位` console.log('WeaTop:',newProps); //在这里输出日志,如果成功输出代表组件成功定位` //数组操作,引入组件,可以放入任意位置,数组元素的类型必须匹配,修改对应数据必须判断下标 //数组操作,引入组件,可以放入任意位置,数组元素的类型必须匹配,修改对应数据必须判断下标//数组操作,引入组件,可以放入任意位置,数组元素的类型必须匹配,修改对应数据必须判断下标 const {Button} = antd;const {Button} = antd;` const {Button} = antd;` if(newProps.buttons.length>=1) newProps.buttons[0] = (<Button>测试</Button>); if(newProps.buttons.length>=1) newProps.buttons[0] = ();if(newProps.buttons.length>=1) newProps.buttons[0] = (<Button>测试</Button>); //组件操作,可追加或者更换或者注入组件//组件操作,可追加或者更换或者注入组件` //组件操作,可追加或者更换或者注入组件` newProps.children = [newProps.children,(<div>我的自定义内容,也可以放dialog</div>)]; newProps.children = [newProps.children,(newProps.children = [newProps.children,(<div>我的自定义内容,也可以放dialog</div>)]; //className、style修改,并给到特殊样式//className、style修改,并给到特殊样式` //className、style修改,并给到特殊样式` newProps.className = 'my-new-class'; newProps.className = 'my-new-class';newProps.className = 'my-new-class'; newProps.style = {newProps.style = {` newProps.style = {` color:'red' color:'red'color:'red' };= {` newProps.style = {` color:'red' color:'red'color:'red' };= {` newProps.style = {` color:'red' color:'red'color:'red' };};` };` //icon修改 //icon修改//icon修改 newProps.icon = ();newProps.icon = (<i className="icon-coms-download2" />);` newProps.icon = (<i className="icon-coms-download2" />);` return newProps; //修改之后返回数据 return newProps; //修改之后返回数据return newProps; //修改之后返回数据 },},` },` order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用 order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用 desc:'在这里写此复写的作用,在调试的时候方便查找'desc:'在这里写此复写的作用,在调试的时候方便查找'` desc:'在这里写此复写的作用,在调试的时候方便查找'`});});});
'在这里写此复写的作用,在调试的时候方便查找'`` desc:'在这里写此复写的作用,在调试的时候方便查找' desc:'在这里写此复写的作用,在调试的时候方便查找'});``});});##### 2、MOBILE端组件参数复写:
ecodeSDK.overwriteMobilePropsFnQueueMapSet(name,option)
ecodeSDK.overwriteMobilePropsFnQueueMapSet(name,option)
ecology版本要求:1906及1906+
ecology版本要求:1906及1906+
(1)参数说明
| 参数 | 说明 | 类型 | 可选 | 默认 | 备注 |
|---|---|---|---|---|---|
| name | 组件名 | string | 必填 | ‘’ | 包含 组件站 移动组件库WeaverMobile、WeaMobilePage大部分组件 |
| option | 复写配置 | object | 必填 | {} | |
| option.fn | 复写钩子函数 | function | 必填 | (newProps)=>{} | |
| option.order | 复写排序 | integer | 选填 | 0 | |
| option.desc | 复写说明 | string | 选填 | ‘’ | 无 |
参数 说明 类型 可选 默认 备注
参数 说明 类型 可选 默认 备注 参数说明类型可选默认备注
name 组件名 string 必填 ‘’ 包含 [组件站] (外部文档缺失) 移动组件库WeaverMobile、WeaMobilePage大部分组件
option 复写配置 object 必填 {}
option.fn 复写钩子函数 function 必填 (newProps)=>{}
option.order 复写排序 integer 选填 0
option.desc 复写说明 string 选填 ‘’ 无
name 组件名 string 必填 ‘’ 包含 [组件站] (外部文档缺失) 移动组件库WeaverMobile、WeaMobilePage大部分组件 name组件名string必填‘’包含 [组件站] (外部文档缺失) 移动组件库WeaverMobile、WeaMobilePage大部分组件[组件站] (外部文档缺失) option 复写配置 object 必填 {}
option复写配置object必填{} option.fn 复写钩子函数 function 必填 (newProps)=>{}
option.fn复写钩子函数function必填(newProps)=>{} option.order 复写排序 integer 选填 0
option.order复写排序integer选填0 option.desc 复写说明 string 选填 ‘’ 无 option.desc复写说明string选填‘’无
(2)基本例子
首先需要创建ecode项目,请参考(二、如何开始ecode项目)进行操作,创建成功如图
首先需要创建ecode项目,请参考(二、如何开始ecode项目)进行操作,创建成功如图


其中register.js的代码如下 e_1589514585000.png)

其中register.js的代码如下其中register.js的代码如下
ecodeSDK.overwriteMobilePropsFnQueueMapSet('TabPage',{ //组件名
fn:(newProps)=>{ //newProps代表组件参数
//进行位置判断
},
order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用
desc:'在这里写此复写的作用,在调试的时候方便查找'
});
ecodeSDK.overwriteMobilePropsFnQueueMapSet('TabPage',{ //组件名fn:(newProps)=>{ //newProps代表组件参数//进行位置判断},order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用desc:'在这里写此复写的作用,在调试的时候方便查找'});ecodeSDK.overwriteMobilePropsFnQueueMapSet('TabPage',{ //组件名``ecodeSDK.overwriteMobilePropsFnQueueMapSet('TabPage',{ //组件名ecodeSDK.overwriteMobilePropsFnQueueMapSet('TabPage',{ //组件名fn:(newProps)=>{ //newProps代表组件参数`` fn:(newProps)=>{ //newProps代表组件参数fn:(newProps)=>{ //newProps代表组件参数//进行位置判断`` //进行位置判断//进行位置判断},`` },},order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用`` order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用desc:'在这里写此复写的作用,在调试的时候方便查找'`` desc:'在这里写此复写的作用,在调试的时候方便查找'desc:'在这里写此复写的作用,在调试的时候方便查找'});``});});
(3)如何定位组件及其参数
参考第四章组件参数复写sdk 第1节第(3)点
参考第四章组件参数复写sdk 第1节第(3)点
(4)如何开发调试
参考第四章组件参数复写sdk 第1节第(4)点
参考第四章组件参数复写sdk 第1节第(4)点
⚖️ 实现方式对比: 本文档介绍的是修改组件参数(轻量,不改源码,推荐优先使用)。 如需完全替换组件逻辑/重写组件,请参考 五-组件重写.md。