This article will introduce to you how to make the scroll-view scroll according to the specified position in the WeChat applet. You can get an excellent experience without writing additional js scripts. I hope it will be helpful to everyone!

The background is like this. The WeChat applet has a tab switching page, and the tab switching page has two content boxes. I use scroll-view to make it, and then when switching the tab page, the corresponding scroll bar in scroll-view needs to be on top. [Related learning recommendations: 小program development tutorial]
We can see that there is a scroll-into-view# in the official document description scroll-view ##Attribute, the description of this attribute is as follows
The value of scroll-into-view should be a certain sub-element id (the id cannot start with a number). Set which direction can be scrolled, then scroll to the element in which direction
Then we can make a fuss about this attribute, just put an id value inscroll-view By setting a custom value, when switching tab, the corresponding content box scroll bars will automatically scroll to the top, as shown in the following code. The following code is what I use Taro The program framework demonstrates the same as the native one.
import Taro from '@tarojs/taro'
import { View } from '@tarojs/components'
import { AtTabs, AtTabsPane } from 'taro-ui'
export default class Index extends Taro.Component {
constructor () {
super(...arguments)
this.state = {
current: 0,
}
}
handleClick (value) {
this.setState({
current: value
})
}
render () {
const tabList = [{ title: '标签第一页' }, { title: '标签第二页' }, { title: '标签第三页' }]
return (
<AtTabs current={this.state.current} tabList={tabList} onClick={this.handleClick.bind(this)}>
<AtTabsPane current={this.state.current} index={0} >
<ScrollView scrollY scrollIntoView='content-0'>
<View id='content-0'></View>
标签页一的内容
</ScrollView>
</AtTabsPane>
<AtTabsPane current={this.state.current} index={1} >
<ScrollView scrollY scrollIntoView='content-1'>
<View id='content-1'></View>
标签页二的内容
</ScrollView>
</AtTabsPane>
<AtTabsPane current={this.state.current} index={2} >
<ScrollView scrollY scrollIntoView='content-2'>
<View id='content-2'></View>
标签页三的内容
</ScrollView>
</AtTabsPane>
</AtTabs>
)
}
}view## with the ID value content-0 in the scroll-view of the first tab #, then when switching the tab page, scroll-view will be positioned on the id of the child element according to the scroll-into-view attribute we set, and reach The effect of the scroll bar automatically moving to the top<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false;"><AtTabsPane current={this.state.current} index={0} >
<ScrollView scrollY scrollIntoView=&#39;content-0&#39;>
<View id=&#39;content-0&#39;></View>
标签页一的内容
</ScrollView>
</AtTabsPane></pre><div class="contentsignin">Copy after login</div></div>Similarly, if you need the scroll bar to scroll to the lowest position, just put the corresponding sub-element ID to the lowest position. For example, in some chat interfaces, you need to locate the latest one. Article
<AtTabsPane current={this.state.current} index={0} >
<ScrollView scrollY scrollIntoView='content-0'>
标签页一的内容
<View id='content-0'></View>
</ScrollView>
</AtTabsPane>For more programming-related knowledge, please visit:
Programming VideoThe above is the detailed content of A brief analysis of how to make scroll-view scroll according to the specified position in the mini program. For more information, please follow other related articles on the PHP Chinese website!