优化ntrp和性别picker偶尔选不上值

This commit is contained in:
2026-02-10 18:00:26 +08:00
parent 4cf2b959b5
commit 05966b2acb
3 changed files with 23 additions and 19 deletions

View File

@@ -2,7 +2,7 @@
"miniprogramRoot": "dist/", "miniprogramRoot": "dist/",
"projectname": "playBallTogether", "projectname": "playBallTogether",
"description": "playBallTogether", "description": "playBallTogether",
"appid": "wx915ecf6c01bea4ec", "appid": "wx815b533167eb7b53",
"setting": { "setting": {
"urlCheck": true, "urlCheck": true,
"es6": true, "es6": true,

View File

@@ -52,7 +52,7 @@ const PopupPicker = ({
ntrpTested, ntrpTested,
}: PickerProps) => { }: PickerProps) => {
const [defaultValue, setDefaultValue] = useState<(string | number)[]>([]); const [defaultValue, setDefaultValue] = useState<(string | number)[]>([]);
const [defaultOptions, setDefaultOptions] = useState<PickerOption[][]>([]); const [defaultOptions, setDefaultOptions] = useState<PickerOption[][]>([...options]);
const [pickerCurrentValue, setPickerCurrentValue] = const [pickerCurrentValue, setPickerCurrentValue] =
useState<(string | number)[]>(value); useState<(string | number)[]>(value);

View File

@@ -10,6 +10,7 @@ import {
useUserActions, useUserActions,
useNicknameChangeStatus, useNicknameChangeStatus,
useLastTestResult, useLastTestResult,
useUserInfo,
} from "@/store/userStore"; } from "@/store/userStore";
import { UserInfoType } from "@/services/userService"; import { UserInfoType } from "@/services/userService";
import { import {
@@ -73,7 +74,6 @@ const on_edit = () => {
// 用户信息卡片组件 // 用户信息卡片组件
const UserInfoCardComponent: React.FC<UserInfoCardProps> = ({ const UserInfoCardComponent: React.FC<UserInfoCardProps> = ({
editable = true, editable = true,
user_info,
is_current_user, is_current_user,
is_following = false, is_following = false,
collapseProfile, collapseProfile,
@@ -84,6 +84,8 @@ const UserInfoCardComponent: React.FC<UserInfoCardProps> = ({
set_user_info, set_user_info,
onTab, onTab,
}) => { }) => {
const user_info = useUserInfo();
const nickname_change_status = useNicknameChangeStatus(); const nickname_change_status = useNicknameChangeStatus();
const { setShowGuideBar } = useGlobalState(); const { setShowGuideBar } = useGlobalState();
const { updateUserInfo, updateNickname, fetchLastTestResult } = const { updateUserInfo, updateNickname, fetchLastTestResult } =
@@ -122,11 +124,15 @@ const UserInfoCardComponent: React.FC<UserInfoCardProps> = ({
useState(false); useState(false);
// 表单状态 // 表单状态
const [form_data, set_form_data] = useState<Partial<UserInfoType>>({}); const [form_data, set_form_data] = useState<Partial<UserInfoType>>({ ...user_info });
useDidShow(() => { // useDidShow(() => {
// set_form_data({ ...user_info });
// });
useEffect(() => {
set_form_data({ ...user_info }); set_form_data({ ...user_info });
}); }, [user_info])
useEffect(() => { useEffect(() => {
const visibles = [ const visibles = [
@@ -372,7 +378,6 @@ const UserInfoCardComponent: React.FC<UserInfoCardProps> = ({
urls: [url], urls: [url],
}); });
}; };
return ( return (
<View className="user_info_card"> <View className="user_info_card">
{/* 头像和基本信息 */} {/* 头像和基本信息 */}
@@ -650,16 +655,16 @@ const UserInfoCardComponent: React.FC<UserInfoCardProps> = ({
<PopupPicker <PopupPicker
showHeader={true} showHeader={true}
title="选择性别" title="选择性别"
options={[ options={
[ [
{ text: "男", value: "0" }, { text: "男", value: "0" },
{ text: "女", value: "1" }, { text: "女", value: "1" },
{ text: "保密", value: "2" }, { text: "保密", value: "2" },
], ]
]} }
visible={gender_picker_visible} visible={gender_picker_visible}
setvisible={setGenderPickerVisible} setvisible={setGenderPickerVisible}
value={form_data.gender === "" ? ["0"] : [form_data.gender]} value={!form_data.gender ? ["0"] : [form_data.gender]}
onChange={handle_gender_change} onChange={handle_gender_change}
/> />
)} )}
@@ -868,8 +873,7 @@ export const GameTabs: React.FC<GameTabsProps> = ({
<Text className="tab_text">{hosted_text}</Text> <Text className="tab_text">{hosted_text}</Text>
</View> </View>
<View <View
className={`tab_item ${ className={`tab_item ${active_tab === "participated" ? "active" : ""
active_tab === "participated" ? "active" : ""
}`} }`}
onClick={() => on_tab_change("participated")} onClick={() => on_tab_change("participated")}
> >