在salesforce闪电组件中,我们隐藏了三个不同的div,并根据需要使用display none css属性显示。 Fist div有更多内容,我们必须滚动页面直到结束提交表单,并且提交下一页是可见的,内容很少,但我们必须向上滚动才能看到这些内容。有什么办法可以避免滚动。第二个div是第一个div高度。
答案 0 :(得分:0)
使用以下代码。由于Salesforce闪电使用'转换'CSS属性进行滚动。 只需将'scroller'类应用于您想要放在顶部的div。
var cssScrolltoTop = $(".scroller"); // css class to find scroll position
if (cssScrolltoTop) {
var cssScrolltoTopTransform = cssScrolltoTop.css("transform");
if (cssScrolltoTopTransform) {
cssScrolltoTop.css("transform", "translate3d(0px, 0px, 0px)"); //set 'transform' since lighntning architecture uses css 'transfrom' property to scroll
}
}
答案 1 :(得分:0)
您可以在doInit
控制器方法中尝试此操作:
window.scroll(0, 0);
答案 2 :(得分:0)
我遇到了类似的问题,然后我们在控制器中使用了此事件来调整div的大小:
$A.get("e.ui:updateSize").fire();
此功能后来被salesforce弃用,然后我们将div进行了扩展/折叠:
<ui:scrollerWrapper >
// Add your <div>
</ui:scrollerWrapper>
答案 3 :(得分:0)
要使 scrollTop = 0 起作用,容器 div 必须具有内部滚动。我们可以通过 px 或 vh 给出高度。
试试看它应该可以工作。在 Flexi Page 中添加 LWC 时,我遇到了类似的问题。 Flexi 页面有自己的滚动条,但为此,scrollTop 不起作用。但是如果我们在顶层 div 创建一个单独的滚动条,那么 scrollTop 就开始工作了。
看看这个。我已经创建了这个,它对我来说非常好:https://webcomponents.dev/edit/3vpWJ46hxykfPSACfuNN