sticky.md 3.3 KB
Newer Older
D
DCloud_LXH 已提交
1 2 3 4
## sticky-header

<!-- UTSCOMJSON.sticky-header.description -->

D
DCloud_LXH 已提交
5 6
<!-- UTSCOMJSON.sticky-header.compatibility -->

7
<!-- UTSCOMJSON.sticky-header.attribute -->
D
DCloud_LXH 已提交
8 9 10

<!-- UTSCOMJSON.sticky-header.event -->

11 12
<!-- UTSCOMJSON.sticky-header.component_type-->

D
DCloud_LXH 已提交
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
### sticky-header使用场景

1. 父元素滚动过程中,某个元素有固定到父元素顶部的需求

	需求其实就是元素吸顶。可将需要吸顶元素放入sticky-header组件中,sticky-header组件作为父元素的子元素,放到吸顶元素原来的位置即可。

	**示例:**

	```html
	<list-view id="list-view" style="flex: 1; background-color: #f5f5f5;">
		<sticky-header>
			<!-- 固定到父元素顶部的元素 -->
			<text style="padding: 20px; background-color: #f5f5f5;">向上滑动页面,体验sticky-header吸顶效果。</text>
		</sticky-header>
		<list-item v-for="index in 20" :key="index" style="padding: 15px; margin: 5px 0;background-color: #fff;border-radius: 5px;">
			<text class="text">itme-content-{{index}}</text>
		</list-item>
	</list-view>
	```

**注意**

+ sticky-header组件不支持css。仅支持padding属性控制子元素位置。其他排版需求要交给子元素实现
+ 同时存在多sticky-header组件请使用sticky-section组件充当父容器控制吸顶业务

<!-- UTSCOMJSON.sticky-header.children -->

40 41
<!-- UTSCOMJSON.sticky-header.example -->

D
DCloud_LXH 已提交
42 43 44 45 46 47
<!-- UTSCOMJSON.sticky-header.reference -->

## sticky-section

<!-- UTSCOMJSON.sticky-section.description -->

D
DCloud_LXH 已提交
48 49
<!-- UTSCOMJSON.sticky-section.compatibility -->

50
<!-- UTSCOMJSON.sticky-section.attribute -->
D
DCloud_LXH 已提交
51 52 53

<!-- UTSCOMJSON.sticky-section.event -->

54 55
<!-- UTSCOMJSON.sticky-section.component_type-->

D
DCloud_LXH 已提交
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
### sticky-section使用场景

1. 父元素滚动过程中,多个元素有固定到父元素顶部的需求。

	父元素中多个元素吸顶需要使用sticky-section组件。sticky-section组件作为sticky-header组件的父容器。sticky-section组件会控制子元素的滚动吸顶业务。sticky-section组件之间可通过push-pinned-header属性控制吸顶重叠时是否上推。

	**示例:**

	```html
	<list-view id="list-view" style="flex: 1; background-color: #f5f5f5;">
		<sticky-section v-for="sectionId in 3" :id="sectionId" push-pinned-header=false>
			<sticky-header>
				<text style="padding: 20px; background-color: #f5f5f5;">sticky-header吸顶--{{sectionId}}</text>
			</sticky-header>
			<list-item v-for="index in 20" :key="index" style="padding: 15px; margin: 5px 0;background-color: #fff;border-radius: 5px;">
				<text class="text">itme-content-{{index}}</text>
			</list-item>
		</sticky-section>
	</list-view>
	```

**注意**

+ sticky-section组件支持存放多个sticky-header子组件,多个sticky-header滚动吸顶时,后一个sticky-header会停靠在前一个sticky-header的末尾处, 仅限于同一个sticky-section父容器。多个sticky-section吸顶停靠通过push-pinned-header控制。
+ sticky-section组件是虚拟组件不会真实渲染。仅支持padding属性控制子元素位置。其他排版需求要交给子元素实现
81
+ Android平台sticky-section组件作为list-view的子元素时需要注意,sticky-section子元素仅支持sticky-header、list-item,其他元素无法正常显示
D
DCloud_LXH 已提交
82 83 84

<!-- UTSCOMJSON.sticky-section.children -->

85 86
<!-- UTSCOMJSON.sticky-section.example -->

87
<!-- UTSCOMJSON.sticky-section.reference -->