1
2
3
4
5
6
7
8
9
10
11
12
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| /**
| * content
| * @author Tevin
| */
|
| <template>
| <view class="c-content">
| <view
| class="c-content-inner"
| v-if="scroll==='off'"
| >
| <slot />
| </view>
| <scroll-view
| class="c-content-scroll"
| v-if="scroll==='on'"
| :scrollY="true"
| :scroll-top="scrollTop"
| :scroll-with-animation="true"
| ref="scrollor"
| @scroll="evt => handleScroll(evt)"
| >
| <slot />
| </scroll-view>
| </view>
| </template>
|
| <script>
| export default {
| name: 'CContent',
| props: {
| // 开启滚动,off / on
| scroll: {
| type: String,
| default: 'off',
| },
| },
| data() {
| return {
| scrollTop: '',
| };
| },
| methods: {
| handleScroll(evt) {
| this.scrollTop = evt.target.scrollTop;
| },
| $scrollTop(top) {
| if (this.scroll === 'off') {
| return;
| }
| this.scrollTop = top || 0;
| },
| },
| };
| </script>
|
|