Skip to content

Commit c7e370d

Browse files
committed
fix(tabs): taro env sticky tips bug #1889
1 parent 01f2cd6 commit c7e370d

File tree

4 files changed

+89
-46
lines changed

4 files changed

+89
-46
lines changed

src/packages/__VUE/tabs/index.taro.vue

+30-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,33 @@
1-
<template src="./template.html"></template>
1+
<template>
2+
<view class="nut-tabs" :class="[direction]" ref="container" id="container">
3+
<view
4+
class="nut-tabs__titles"
5+
:class="{ [type]: type, scrollable: titleScroll, [size]: size }"
6+
:style="tabsNavStyle"
7+
>
8+
<slot v-if="$slots.titles" name="titles"></slot>
9+
<template v-else>
10+
<view
11+
class="nut-tabs__titles-item"
12+
:style="titleStyle"
13+
@click="tabChange(item, index)"
14+
:class="{ active: item.paneKey == modelValue, disabled: item.disabled }"
15+
v-for="(item, index) in titles"
16+
:key="item.paneKey"
17+
>
18+
<view class="nut-tabs__titles-item__line" :style="tabsActiveStyle" v-if="type == 'line'"></view>
19+
<view class="nut-tabs__titles-item__smile" :style="tabsActiveStyle" v-if="type == 'smile'">
20+
<nut-icon :color="color" name="joy-smile" />
21+
</view>
22+
<view class="nut-tabs__titles-item__text" :class="{ ellipsis: ellipsis }">{{ item.title }} </view>
23+
</view>
24+
</template>
25+
</view>
26+
<view class="nut-tabs__content" :style="contentStyle">
27+
<slot name="default"></slot>
28+
</view>
29+
</view>
30+
</template>
231
<script lang="ts">
332
import { createComponent } from '@/packages/utils/create';
433
import { component } from './common';

src/packages/__VUE/tabs/index.vue

+59-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,62 @@
1-
<template src="./template.html"></template>
1+
<template>
2+
<view class="nut-tabs" :class="[direction]" ref="container" id="container">
3+
<template v-if="sticky">
4+
<nut-sticky :top="top" :container="container" @scroll="onStickyScroll">
5+
<view
6+
class="nut-tabs__titles"
7+
:class="{ [type]: type, scrollable: titleScroll, [size]: size }"
8+
:style="tabsNavStyle"
9+
>
10+
<slot v-if="$slots.titles" name="titles"></slot>
11+
<template v-else>
12+
<view
13+
class="nut-tabs__titles-item"
14+
:style="titleStyle"
15+
@click="tabChange(item, index)"
16+
:class="{ active: item.paneKey == modelValue, disabled: item.disabled }"
17+
v-for="(item, index) in titles"
18+
:key="item.paneKey"
19+
>
20+
<view class="nut-tabs__titles-item__line" :style="tabsActiveStyle" v-if="type == 'line'"></view>
21+
<view class="nut-tabs__titles-item__smile" :style="tabsActiveStyle" v-if="type == 'smile'">
22+
<nut-icon :color="color" name="joy-smile" />
23+
</view>
24+
<view class="nut-tabs__titles-item__text" :class="{ ellipsis: ellipsis }">{{ item.title }} </view>
25+
</view>
26+
</template>
27+
</view>
28+
</nut-sticky>
29+
</template>
30+
<template v-else>
31+
<view
32+
class="nut-tabs__titles"
33+
:class="{ [type]: type, scrollable: titleScroll, [size]: size }"
34+
:style="tabsNavStyle"
35+
>
36+
<slot v-if="$slots.titles" name="titles"></slot>
37+
<template v-else>
38+
<view
39+
class="nut-tabs__titles-item"
40+
:style="titleStyle"
41+
@click="tabChange(item, index)"
42+
:class="{ active: item.paneKey == modelValue, disabled: item.disabled }"
43+
v-for="(item, index) in titles"
44+
:key="item.paneKey"
45+
>
46+
<view class="nut-tabs__titles-item__line" :style="tabsActiveStyle" v-if="type == 'line'"></view>
47+
<view class="nut-tabs__titles-item__smile" :style="tabsActiveStyle" v-if="type == 'smile'">
48+
<nut-icon :color="color" name="joy-smile" />
49+
</view>
50+
<view class="nut-tabs__titles-item__text" :class="{ ellipsis: ellipsis }">{{ item.title }} </view>
51+
</view>
52+
</template>
53+
</view>
54+
</template>
55+
<view class="nut-tabs__content" :style="contentStyle">
56+
<slot name="default"></slot>
57+
</view>
58+
</view>
59+
</template>
260
<script lang="ts">
361
import { createComponent } from '@/packages/utils/create';
462
import { component } from './common';

src/packages/__VUE/tabs/template.html

-43
This file was deleted.

src/sites/mobile-taro/vue/src/nav/pages/tabs/index.vue

-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,6 @@ export default {
120120
});
121121
setTimeout(() => {
122122
state.list3.push(999);
123-
state.tab3value = '2';
124123
}, 3000);
125124
126125
return { state };

0 commit comments

Comments
 (0)