123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- <template>
- <view class="u-demo">
- <view class="u-demo-wrap">
- <view class="u-demo-title">演示效果</view>
- <view class="u-demo-area">
- <view class="u-no-demo-here">滚动页面即可在右下角看到返回顶部的按钮</view>
- </view>
- <u-back-top :scrollTop="scrollTop" :mode="mode"
- :bottom="bottom" :right="right" :top="top" :icon="icon" :custom-style="customStyle"
- :icon-style="iconStyle" :tips="tips"
- >
- </u-back-top>
- </view>
- <view class="u-config-wrap">
- <view class="u-config-title u-border-bottom">
- 参数配置
- </view>
- <view class="u-config-item">
- <view class="u-item-title">模式</view>
- <u-subsection :list="['圆形', '方形']" @change="modeChange"></u-subsection>
- </view>
- <view class="u-config-item">
- <view class="u-item-title">组件位置</view>
- <u-subsection :list="['默认', '自定义']" @change="positionChange"></u-subsection>
- </view>
- <view class="u-config-item">
- <view class="u-item-title">显示组件的滚动条距离</view>
- <u-subsection current="1" :list="['200', '400', '600']" @change="scrollTopChange"></u-subsection>
- </view>
- <view class="u-config-item">
- <view class="u-item-title">自定义样式</view>
- <u-subsection current="1" :list="['是', '否']" @change="styleChange"></u-subsection>
- </view>
- </view>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- scrollTop: 0,
- mode: 'circle',
- bottom: 200,
- right: 40,
- top: 400,
- icon: 'arrow-upward',
- iconStyle: {
- color: '#909399',
- fontSize: '38rpx'
- },
- customStyle: {},
- tips: ''
- }
- },
- methods: {
- modeChange(index) {
- this.mode = !index ? 'circle' : 'square';
- },
- positionChange(index) {
- if(index == 0) {
- this.bottom = 200;
- this.right = 40;
- } else {
- this.bottom = 400;
- this.right = 80;
- }
- },
- scrollTopChange(index) {
- this.top = [200, 400, 600][index];
- },
- styleChange(index) {
- if(index == 0) {
- this.icon = 'arrow-up';
- this.iconStyle = {
- color: '#2979ff',
- fontSize: '34rpx'
- };
- this.customStyle = {
- backgroundColor: '#a0cfff',
- color: '#2979ff'
- };
- this.tips = '顶部';
- } else {
- this.icon = 'arrow-upward';
- this.iconStyle = {
- color: '#909399',
- fontSize: '38rpx'
- };
- this.customStyle = {};
- this.tips = '';
- }
- }
- },
- onPageScroll(e) {
- this.scrollTop = e.scrollTop;
- }
- }
- </script>
- <style lang="scss" scoped>
- .u-demo {
- height: 200vh;
- }
- </style>
|