Skip to content

Commit 9d12adb

Browse files
committed
Merge branch 'dev'
2 parents b120bd5 + fad9f30 commit 9d12adb

File tree

3 files changed

+48
-21
lines changed

3 files changed

+48
-21
lines changed

packages/core/src/SpeedDial/index.tsx

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -146,20 +146,21 @@ function SpeedDial(props: SpeedDialProps) {
146146
]}
147147
// {...panResponder.panHandlers}
148148
>
149-
{children.map((item, i) => (
150-
<Animated.View
151-
style={[
152-
styles.fadingContainer,
153-
{
154-
// Bind opacity to animated value
155-
opacity: fadeAnim[i],
156-
},
157-
]}
158-
key={i}
159-
>
160-
<Item {...item} move={panResponder.panHandlers} />
161-
</Animated.View>
162-
))}
149+
{success &&
150+
children.map((item, i) => (
151+
<Animated.View
152+
style={[
153+
styles.fadingContainer,
154+
{
155+
// Bind opacity to animated value
156+
opacity: fadeAnim[i],
157+
},
158+
]}
159+
key={i}
160+
>
161+
<Item {...item} move={panResponder.panHandlers} />
162+
</Animated.View>
163+
))}
163164

164165
<View {...panResponder.panHandlers} style={{ alignItems: 'flex-end' }}>
165166
<TouchableOpacity activeOpacity={1} onPress={onOpenHome}>

packages/core/src/Tabs/TabsItem.tsx

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import React, { useCallback, useMemo } from 'react';
2-
import { View, StyleSheet, Text, TouchableOpacity } from 'react-native';
1+
import React, { useCallback, useEffect, useMemo, useRef } from 'react';
2+
import { View, StyleSheet, Text, TouchableOpacity, Animated } from 'react-native';
33

44
import Icon, { IconsName } from '../Icon';
55

@@ -42,6 +42,24 @@ export interface TabsItemProps {
4242

4343
function TabsItem(props: TabsItemProps) {
4444
const { activeColor, icon, index, value, onChange, defaultColor } = props;
45+
const opacity = useRef(new Animated.Value(0)).current;
46+
47+
useEffect(() => {
48+
if (value === index) {
49+
Animated.timing(opacity, {
50+
toValue: 1,
51+
duration: 500,
52+
useNativeDriver: true,
53+
}).start();
54+
} else {
55+
Animated.timing(opacity, {
56+
toValue: 0,
57+
duration: 500,
58+
useNativeDriver: true,
59+
}).start();
60+
}
61+
}, [value]);
62+
4563
const style = useCallback(() => {
4664
const { style = {} } = props;
4765
const titleBoxStyle = {
@@ -92,7 +110,15 @@ function TabsItem(props: TabsItemProps) {
92110
if (value === index) {
93111
return (
94112
<View style={styles.bottomView}>
95-
<View style={[styles.bottom, { ...style().borderColor }]} />
113+
<Animated.View
114+
style={[
115+
styles.bottom,
116+
{
117+
...style().borderColor,
118+
opacity,
119+
},
120+
]}
121+
/>
96122
</View>
97123
);
98124
}
@@ -102,10 +128,10 @@ function TabsItem(props: TabsItemProps) {
102128
return (
103129
<View style={styles.TabsItemContainer}>
104130
<TouchableOpacity onPress={() => (index === 0 || index) && onChange?.(index)}>
105-
{IconDom}
106-
<View style={[styles.titleBox, { ...style().titleBoxStyle }]}>
131+
<Animated.View style={[styles.titleBox, { ...style().titleBoxStyle }]}>
132+
{IconDom}
107133
<Text style={[styles.title, { ...style().titleStyle }]}>{props.title}</Text>
108-
</View>
134+
</Animated.View>
109135
{BorderDom}
110136
</TouchableOpacity>
111137
</View>

packages/core/src/WingBlank/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ function Demo() {
4848
export default Demo
4949
```
5050

51-
两翼留白不换行
51+
## 两翼留白不换行
5252

5353
```jsx mdx:preview&background=#bebebe29
5454
import React,{Component,Fragment} from 'react';

0 commit comments

Comments
 (0)