页面不会在salesforce闪电中滚动到顶部

时间:2016-06-15 13:42:01

标签: javascript html css3 salesforce lightning

在salesforce闪电组件中,我们隐藏了三个不同的div,并根据需要使用display none css属性显示。 Fist div有更多内容,我们必须滚动页面直到结束提交表单,并且提交下一页是可见的,内容很少,但我们必须向上滚动才能看到这些内容。有什么办法可以避免滚动。第二个div是第一个div高度。

4 个答案:

答案 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