ScrollView 可滚动视图区域

一、概述

定义

使视图内容区域可以横向/纵向滚动。

使用场景

当某块视图区域内容超出固定宽度/高度,需要进行横向/纵向滚动时使用。

二、基础样式

交互说明

当某块区域内容需要上下/左右滚动时,用scroll-view包裹这块区域内容。可通过scroll-x 或者 scroll-y 来决定时横向滚动还是纵向滚动,使用竖向滚动时,需要给scroll-view一个固定高度,通过 CSS 设置 height

基础用法

1.纵向滚动

ScrollView 可滚动视图区域 - 图1

  1. <se-scroll-view
  2. class="scroll-view"
  3. :scroll-y="scrollY"
  4. :scroll-into-view="scrollIntoView"
  5. :scroll-top="scrollTop"
  6. :upper-threshold="upperThreshold"
  7. :lower-threshold="lowerThreshold"
  8. :enable-flex="enableFlex"
  9. @scrolltoupper="onScrollToUpper"
  10. @scrolltolower="onScrollToLower"
  11. @scroll="onScroll"
  12. >
  13. </se-scroll-view>

2.横向滚动

ScrollView 可滚动视图区域 - 图2

注:文本框的值修改之后需要失去焦点才能生效。scroll-topscroll-left为单向数据流,不是双向绑定。如果想要实时获取scroll-topscroll-left的值,请在scroll事件中获取。

Props

属性类型默认值必填说明
scroll-xbooleanfalsefalse允许横向滚动
scroll-ybooleanfalsefalse允许纵向滚动
upper-thresholdnumber/string50false距顶部/左边多远时,触发 scrolltoupper 事件
lower-thresholdnumber/string50false距底部/右边多远时,触发 scrolltolower 事件
scroll-topnumber/stringfalse设置竖向滚动条位置
scroll-leftnumber/stringfalse设置横向滚动条位置
scroll-into-viewstringfalse值应为某子元素 id(id 不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素
enable-flexbooleanfalsefalse启用 flexbox 布局。开启后,当前节点声明了 display: flex 就会成为 flex container,并作用于其孩子节点。

Events

名称类型说明
scrolltoupperEventHandle滚动到顶部/左边时触发
scrolltolowerEventHandle滚动到底部/右边时触发
scrollEventHandle滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth }