import * as WebBrowser from 'expo-web-browser'; import * as React from 'react'; import { StyleSheet, View } from 'react-native'; import { Div, Button, Select, Image, Text, Avatar, Icon, } from 'react-native-magnus'; import { ScrollView } from 'react-native-gesture-handler'; import { Modal, Portal, TouchableRipple, Badge } from 'react-native-paper'; import { useRequest, useCreation, useUnmount } from '@umijs/hooks'; import { useNavigation, useFocusEffect } from '@react-navigation/native'; import useModel from 'flooks'; import AddressModel from './model'; // detail模块通用方法 const AddressItem = ({ info, editEvent, isChoose, leftEvent }) => { return ( <>
{info.addressName} {info.addressInfo}
{info.name} {info.phone}
); }; export default function AddressCom() { const { addressList, getAddressList, goEdit, setShow, chooseAddressId, setChoose, } = useModel(AddressModel, ['addressList', 'goEdit', 'chooseAddressId']); const addressRequest = useRequest(getAddressList); const [visible, setvisible] = React.useState(false); const navigation = useNavigation(); useUnmount(() => { setShow(false); }); useFocusEffect( React.useCallback(() => { if (goEdit) { setvisible(true); } }, [goEdit]) ); const chooseaddressInfo = useCreation(() => { if (chooseAddressId) { return addressList.find((item) => { return item.id === chooseAddressId; }); } else { return {}; } }, [chooseAddressId, addressList]); return ( <> { setvisible(true); }} >
{chooseAddressId ? (
{chooseaddressInfo.addressName} {chooseaddressInfo.number}
{chooseaddressInfo.name} {chooseaddressInfo.sex} {chooseaddressInfo.phone}
) : ( <> 请选择地址
)}
{ setvisible(false); setShow(false); }} >
选择收货地址
{addressList.map((item) => { return ( { setChoose(item.id); setvisible(false); setShow(false); }} editEvent={() => { setvisible(false); navigation.navigate('EditAddress', { id: item.id }); setShow(true); }} /> ); })} {addressList.length === 0 && (
暂无数据111
)}
); }