Article / 文章中心

框架画Button的入口

发布时间:2021-11-23 点击数:329

以Opportunity为例,直接在ButtonRenderer.js的render方法设个断点就行了:


image.png

它会被反复call到,先是触发4次,因为Opportunity右下角有4个button。


然后又触发一次,为了画这个<- button:


image.png


然后又触发一次,画这个sort,这一点可以通过sort tooltip识别:


image.png

然后画这个add button,可以通过icon 识别:



image.png

看callstack:

image.png


另外确实像你说的,MasterHeaderFooter 最重要的逻辑都写在下面这个js file里,

image.png


从注释发现defineMasterHeaderFooter方法只有在每次list binding 发生change时才会被call到。每次odata回来时,_handleSuccess会trigger list binding change。

image.png

这个define方法就会call我们controller里实现的getHeaderFooterOptions了。

image.png