1.5.1 • Published 1 year ago

@wines/sticky v1.5.1

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

@wines/sticky

Sticky 吸顶容器

用于将标题栏在滚动时固定到页面顶部。

使用指南

在 page.json 中引入组件

{
  "navigationBarTitleText": "wux-sticky",
  "usingComponents": {
    "wux-sticky": "@wines/sticky",
    "wux-sticky-item": "@wines/sticky/item"
  }
}

示例

<view class="page">
	<view class="page__hd">
		<view class="page__title">Sticky</view>
		<view class="page__desc">吸顶容器</view>
	</view>
	<view class="page__bd">
		<wux-sticky scrollTop="{{ scrollTop }}" bind:stick="onStick" bind:unstick="onUnStick">
			<wux-sticky-item>
				<view slot="title">小鸡</view>
				<view slot="content">
					<view class="demo-item">你看哪里有个小鸡呦</view>
					<view class="demo-item">你看那里他有小鸡哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
				</view>
			</wux-sticky-item>
			<wux-sticky-item>
				<view slot="title">母鸡</view>
				<view slot="content">
					<view class="demo-item">你看那里又有母鸡哟</view>
					<view class="demo-item">你看那里又有母鸡哟</view>
					<view class="demo-item">母鸡咯咯咯咯咯咯-go-</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
				</view>
			</wux-sticky-item>
			<wux-sticky-item>
				<view slot="title">公鸡</view>
				<view slot="content">
					<view class="demo-item">你看那里又有公鸡哟</view>
					<view class="demo-item">你看那里又有公鸡哟</view>
					<view class="demo-item">公鸡喔喔喔喔喔-wo-</view>
					<view class="demo-item">母鸡咯咯咯咯咯咯-go-</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
				</view>
			</wux-sticky-item>
			<wux-sticky-item>
				<view slot="title">火鸡</view>
				<view slot="content">
					<view class="demo-item">你看那里又有火鸡哟</view>
					<view class="demo-item">你看那里又有火鸡哟</view>
					<view class="demo-item">火鸡嘟嘟嘟嘟嘟-du-</view>
					<view class="demo-item">公鸡喔喔喔喔喔-wo-</view>
					<view class="demo-item">母鸡咯咯咯咯咯咯-go-</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
				</view>
			</wux-sticky-item>
			<wux-sticky-item>
				<view slot="title">鸽子</view>
				<view slot="content">
					<view class="demo-item">你看那里又有鸽子哟</view>
					<view class="demo-item">你看那里又有鸽子哟</view>
					<view class="demo-item">鸽子图噜噜噜噜-lu-</view>
					<view class="demo-item">火鸡嘟嘟嘟嘟嘟-du-</view>
					<view class="demo-item">公鸡喔喔喔喔喔-wo-</view>
					<view class="demo-item">母鸡咯咯咯咯咯咯-go-</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
				</view>
			</wux-sticky-item>
			<wux-sticky-item>
				<view slot="title">猫咪</view>
				<view slot="content">
					<view class="demo-item">你看那里又有猫咪哟</view>
					<view class="demo-item">你看那里又有猫咪哟</view>
					<view class="demo-item">猫咪喵喵喵喵喵-miao-</view>
					<view class="demo-item">鸽子图噜噜噜噜-lu-</view>
					<view class="demo-item">火鸡嘟嘟嘟嘟嘟-du-</view>
					<view class="demo-item">公鸡喔喔喔喔喔-wo-</view>
					<view class="demo-item">母鸡咯咯咯咯咯咯-go-</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
				</view>
			</wux-sticky-item>
			<wux-sticky-item>
				<view slot="title">小狗</view>
				<view slot="content">
					<view class="demo-item">你看那里又有小狗哟</view>
					<view class="demo-item">你看那里又有小狗哟</view>
					<view class="demo-item">小狗旺旺旺旺旺-wang-</view>
					<view class="demo-item">猫咪喵喵喵喵喵-miao-</view>
					<view class="demo-item">鸽子图噜噜噜噜-lu-</view>
					<view class="demo-item">火鸡嘟嘟嘟嘟嘟-du-</view>
					<view class="demo-item">公鸡喔喔喔喔喔-wo-</view>
					<view class="demo-item">母鸡咯咯咯咯咯咯-go-</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
				</view>
			</wux-sticky-item>
			<wux-sticky-item>
				<view slot="title">山羊</view>
				<view slot="content">
					<view class="demo-item">你看那里又有山羊哟</view>
					<view class="demo-item">你看那里又有山羊哟</view>
					<view class="demo-item">山羊咩-mie-</view>
					<view class="demo-item">小狗旺旺旺旺旺-wang-</view>
					<view class="demo-item">猫咪喵喵喵喵喵-miao-</view>
					<view class="demo-item">鸽子图噜噜噜噜-lu-</view>
					<view class="demo-item">火鸡嘟嘟嘟嘟嘟-du-</view>
					<view class="demo-item">公鸡喔喔喔喔喔-wo-</view>
					<view class="demo-item">母鸡咯咯咯咯咯咯-go-</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
				</view>
			</wux-sticky-item>
			<wux-sticky-item>
				<view slot="title">绵羊</view>
				<view slot="content">
					<view class="demo-item">你看那里又有绵羊哟</view>
					<view class="demo-item">你看那里又有绵羊哟</view>
					<view class="demo-item">绵羊咇-bie</view>
					<view class="demo-item">山羊咩-mie</view>
					<view class="demo-item">小狗旺旺旺旺旺-wang-</view>
					<view class="demo-item">猫咪喵喵喵喵喵-miao-</view>
					<view class="demo-item">鸽子图噜噜噜噜-lu-</view>
					<view class="demo-item">火鸡嘟嘟嘟嘟嘟-du-</view>
					<view class="demo-item">公鸡喔喔喔喔喔-wo-</view>
					<view class="demo-item">母鸡咯咯咯咯咯咯-go-</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
				</view>
			</wux-sticky-item>
			<wux-sticky-item>
				<view slot="title">母牛</view>
				<view slot="content">
					<view class="demo-item">你看那里又有母牛哟</view>
					<view class="demo-item">你看那里又有母牛哟</view>
					<view class="demo-item">母牛萌-meng-</view>
					<view class="demo-item">绵羊咇-bie</view>
					<view class="demo-item">山羊咩-mie</view>
					<view class="demo-item">小狗旺旺旺旺旺-wang-</view>
					<view class="demo-item">猫咪喵喵喵喵喵-miao-</view>
					<view class="demo-item">鸽子图噜噜噜噜-lu-</view>
					<view class="demo-item">火鸡嘟嘟嘟嘟嘟-du-</view>
					<view class="demo-item">公鸡喔喔喔喔喔-wo-</view>
					<view class="demo-item">母鸡咯咯咯咯咯咯-go-</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
				</view>
			</wux-sticky-item>
			<wux-sticky-item>
				<view slot="title">公牛</view>
				<view slot="content">
					<view class="demo-item">你看那里又有公牛哟</view>
					<view class="demo-item">你看那里又有公牛哟</view>
					<view class="demo-item">公牛呣-mu-</view>
					<view class="demo-item">母牛萌-meng-</view>
					<view class="demo-item">绵羊咇-bie</view>
					<view class="demo-item">山羊咩-mie</view>
					<view class="demo-item">小狗旺旺旺旺旺-wang-</view>
					<view class="demo-item">猫咪喵喵喵喵喵-miao-</view>
					<view class="demo-item">鸽子图噜噜噜噜-lu-</view>
					<view class="demo-item">火鸡嘟嘟嘟嘟嘟-du-</view>
					<view class="demo-item">公鸡喔喔喔喔喔-wo-</view>
					<view class="demo-item">母鸡咯咯咯咯咯咯-go-</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
					<view class="demo-item">小鸡哔哔哔哔-bi-哟</view>
				</view>
			</wux-sticky-item>
			<wux-sticky-item>
				<view slot="title">拖拉机</view>
				<view slot="content">
					<view class="demo-item">你看那里又有拖拉机哟</view>
					<view class="demo-item">你看那里又有拖拉机哟</view>
					<view class="demo-item">拖拉机嗡-weng-</view>
					<view class="demo-item">拖拉机嗡-weng-</view>
					<view class="demo-item">拖拉机嗡-weng-</view>
					<view class="demo-item">小鸡被撞 喔 啊喔</view>
				</view>
			</wux-sticky-item>
		</wux-sticky>
	</view>
</view>
import './index.less';

Page({
  data: {
    scrollTop: 0,
  },
  onPageScroll(e) {
    console.log('onPageScroll', e.scrollTop);
    this.setData({
      scrollTop: e.scrollTop,
    });
  },
  onStick(e) {
    console.log('onStick', e.detail);
  },
  onUnStick(e) {
    console.log('onUnStick', e.detail);
  },
});

API

Sticky props

参数类型描述默认值
prefixClsstring自定义类名前缀wux-sticky
scrollTopnumber设置竖向滚动条位置0

Sticky externalClasses

名称描述
wux-class根节点样式类

StickyItem props

参数类型描述默认值
prefixClsstring自定义类名前缀wux-sticky-item
titlestring标题-
contentstring内容-

StickyItem slot

名称描述
title自定义标题
content自定义内容

StickyItem externalClasses

名称描述
wux-class根节点样式类

Sticky.updated

某些时候需要动态加载数据时可能导致 <wux-sticky-item> 高度计算不正确,此时需要手动调用一次使之正常

$wuxSticky(this, '#wux-sticky').updated()
1.5.1

1 year ago

1.5.0

1 year ago

1.3.5

2 years ago

1.4.0

2 years ago

1.3.2

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago