diff --git a/src/marketing/pages/member/address.js b/src/marketing/pages/member/address.js index b9b497426..eebf7725c 100644 --- a/src/marketing/pages/member/address.js +++ b/src/marketing/pages/member/address.js @@ -19,8 +19,8 @@ const initialState = { } function AddressIndex(props) { - const [state, setState] = useImmer(initialState) const $instance = getCurrentInstance() + const [state, setState] = useImmer(initialState) const colors = useSelector((state) => state.sys) const { address } = useSelector((state) => state.user) const dispatch = useDispatch() @@ -36,8 +36,8 @@ function AddressIndex(props) { const fetch = async (isDelete = false) => { const { isPicker, receipt_type = '', city = '' } = $instance.router.params if (isPicker) { - setState({ - isPicker: true + setState(draft=>{ + draft.isPicker = true }) } Taro.showLoading({ title: '' }) @@ -58,15 +58,16 @@ function AddressIndex(props) { } else { selectedId = list.find((addr) => addr.is_def > 0) || null } - setState({ - list: newList, - selectedId + setState(draft=>{ + draft.list = newList, + draft.selectedId = selectedId }) } const handleClickChecked = (e, item) => { - setState({ - selectedId: item[ADDRESS_ID] + + setState(draft=>{ + draft.selectedId = item[ADDRESS_ID] }) updateChooseAddress(item) @@ -76,9 +77,10 @@ function AddressIndex(props) { } const handleChangeDefault = async (e, item) => { - item.is_def = 1 + const nItem = JSON.parse(JSON.stringify(item)) + nItem.is_def = 1 try { - await api.member.addressCreateOrUpdate(item) + await api.member.addressCreateOrUpdate(nItem) if (item?.address_id) { S.toast('修改成功') } @@ -92,7 +94,6 @@ function AddressIndex(props) { } const handleClickToEdit = (e, item) => { - console.log(123, e, item) if (item?.address_id) { Taro.navigateTo({ url: `/marketing/pages/member/edit-address?address_id=${item.address_id}` @@ -185,7 +186,7 @@ function AddressIndex(props) { )} - {list.map((item) => { + {list?.map((item) => { return ( {isPicker && !item.disabled && ( - + handleClickChecked(e,item)}> {item[ADDRESS_ID] === selectedId ? (