<scroll-view style= 'height:50px;background:#ff0000' scroll-y scroll-top= "100" > <view>1</view> <view>2</view> <view>3</view> <view>4</view> <view>5</view> <view>6</view> <view>7</view> </scroll-view> |
上述代码用在小程序自定义组件中`scroll-top`属性不起作用
这里要注意:scroll-top 是仅在设置的时刻生效的值。
hidden 属性会跳过节点及其子节点的布局计算,所以 scroll-top 在 hidden 为 true 时不会生效。因为 scroll-top 是仅在设置的时刻生效的值,因而在 hidden 变为 false 之后需要再设置一次 scroll-top 才行。前两种情况都是这个原因(与是否在自定义组件中无关)。
第三种情况,如果 products 初始为空或高度不足 100px ,则 scroll-top 不会生效。因为 scroll-top 是仅在设置的时刻生效的值,因而在 products 改变之后需要再设置一次 scroll-top 才行。
你好,直接将你这段代码贴到自定义组件中未能复现问题。请提供一下可复现问题的代码片段。
第一种情况:
自定义组件
<scroll-view style=
'height:50px;background:#ff0000'
scroll-y scroll-top=
"100"
>
<view>1</view>
<view>2</view>
<view>3</view>
<view>4</view>
<view>5</view>
<view>6</view>
<view>7</view>
</scroll-view>
在引用自定义组件的wxml文件中
<view hidden=
'{{!hidden}}'
>
<test id=
'test'
/>
</view>
其中`hidden`在data中初始化直接引用显示正常,但是在API请求成功后修改`hidden`字段后`scroll-top`失效。
第二种情况
自定义组件
<view hidden=
"{{info !== null}}"
>
<scroll-view style=
'height:50px;background:#ff0000'
scroll-y scroll-top=
"100"
>
<view>1</view>
<view>2</view>
<view>3</view>
<view>4</view>
<view>5</view>
<view>6</view>
<view>7</view>
</scroll-view>
</view>
当动态修改info 时,scroll-top失效。
第三种情况
自定义组件
<scroll-view scroll-y style=
"height:100px;background:#ff0000"
scroll-top=
"100"
>
<block wx:key=
"key"
wx:
for
=
"{{products}}"
>
<view>{{index}}</view>
</block>
</scroll-view>
使用block 标签,scroll-top失效。
非常感谢!