feat: 键盘唤起bug
This commit is contained in:
parent
714001f6ac
commit
254692d9f4
@ -3,13 +3,13 @@ import Chat from "@/components/ask/chat";
|
|||||||
import AskHello from "@/components/ask/hello";
|
import AskHello from "@/components/ask/hello";
|
||||||
import SendMessage from "@/components/ask/send";
|
import SendMessage from "@/components/ask/send";
|
||||||
import { ThemedText } from "@/components/ThemedText";
|
import { ThemedText } from "@/components/ThemedText";
|
||||||
import { checkAuthStatus } from '@/lib/auth';
|
|
||||||
import { fetchApi } from "@/lib/server-api-util";
|
import { fetchApi } from "@/lib/server-api-util";
|
||||||
import { Message } from "@/types/ask";
|
import { Message } from "@/types/ask";
|
||||||
import { router, useLocalSearchParams } from "expo-router";
|
import { router, useLocalSearchParams } from "expo-router";
|
||||||
import React, { useEffect, useRef, useState } from 'react';
|
import React, { useEffect, useRef, useState } from 'react';
|
||||||
import {
|
import {
|
||||||
Animated,
|
Animated,
|
||||||
|
Keyboard,
|
||||||
KeyboardAvoidingView,
|
KeyboardAvoidingView,
|
||||||
Platform,
|
Platform,
|
||||||
ScrollView,
|
ScrollView,
|
||||||
@ -21,9 +21,7 @@ import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|||||||
|
|
||||||
export default function AskScreen() {
|
export default function AskScreen() {
|
||||||
const insets = useSafeAreaInsets();
|
const insets = useSafeAreaInsets();
|
||||||
useEffect(() => {
|
|
||||||
checkAuthStatus(router);
|
|
||||||
}, []);
|
|
||||||
// 在组件内部添加 ref
|
// 在组件内部添加 ref
|
||||||
const scrollViewRef = useRef<ScrollView>(null);
|
const scrollViewRef = useRef<ScrollView>(null);
|
||||||
const [isHello, setIsHello] = useState(true);
|
const [isHello, setIsHello] = useState(true);
|
||||||
@ -56,11 +54,11 @@ export default function AskScreen() {
|
|||||||
setUserMessages(res);
|
setUserMessages(res);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// if (newSession) {
|
if (newSession) {
|
||||||
// setIsHello(false);
|
setIsHello(true);
|
||||||
// createNewConversation();
|
setConversationId(null);
|
||||||
// }
|
}
|
||||||
}, [sessionId]);
|
}, [sessionId, newSession]);
|
||||||
|
|
||||||
// 动画效果
|
// 动画效果
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -101,7 +99,10 @@ export default function AskScreen() {
|
|||||||
<View style={[styles.navbar, isHello && styles.hiddenNavbar]}>
|
<View style={[styles.navbar, isHello && styles.hiddenNavbar]}>
|
||||||
<TouchableOpacity
|
<TouchableOpacity
|
||||||
style={styles.backButton}
|
style={styles.backButton}
|
||||||
onPress={() => router.push('/memo-list')}
|
onPress={() => {
|
||||||
|
router.push('/memo-list')
|
||||||
|
Keyboard.dismiss();
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<ReturnArrow />
|
<ReturnArrow />
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
@ -148,7 +149,7 @@ export default function AskScreen() {
|
|||||||
</View>
|
</View>
|
||||||
|
|
||||||
{/* 输入框 */}
|
{/* 输入框 */}
|
||||||
<View style={styles.inputContainer}>
|
<View style={styles.inputContainer} key={conversationId}>
|
||||||
<SendMessage
|
<SendMessage
|
||||||
setIsHello={setIsHello}
|
setIsHello={setIsHello}
|
||||||
setUserMessages={setUserMessages}
|
setUserMessages={setUserMessages}
|
||||||
|
|||||||
@ -91,22 +91,26 @@ export default function SendMessage(props: Props) {
|
|||||||
const keyboardWillShowListener = Keyboard.addListener(
|
const keyboardWillShowListener = Keyboard.addListener(
|
||||||
'keyboardWillShow',
|
'keyboardWillShow',
|
||||||
() => {
|
() => {
|
||||||
console.log('Keyboard will show');
|
if (!conversationId) {
|
||||||
setIsHello(false);
|
console.log('Keyboard will show');
|
||||||
setUserMessages([{
|
setIsHello(false);
|
||||||
content: {
|
setUserMessages([{
|
||||||
text: "快来寻找你的记忆吧。。。"
|
content: {
|
||||||
},
|
text: "快来寻找你的记忆吧。。。"
|
||||||
role: 'Assistant',
|
},
|
||||||
timestamp: new Date().toISOString()
|
role: 'Assistant',
|
||||||
}])
|
timestamp: new Date().toISOString()
|
||||||
|
}])
|
||||||
|
} else {
|
||||||
|
console.log('Keyboard will show1213');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
keyboardWillShowListener.remove();
|
keyboardWillShowListener.remove();
|
||||||
};
|
};
|
||||||
}, []);
|
}, [conversationId]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View style={styles.container}>
|
<View style={styles.container}>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user