feat: update

This commit is contained in:
chashaobao
2025-10-20 07:58:50 +08:00
parent bc141fcf1b
commit a179654898
32 changed files with 648 additions and 271 deletions

View File

@ -4,7 +4,8 @@ import Taro from '@tarojs/taro';
import { Search } from '@taroify/core';
import { useCallback, useEffect, useState } from 'react';
import { CITY_CODE_TO_NAME_MAP, CITY_INDEXES_LIST, GROUP_CITY_INDEXES_LIST } from '@/constants/city';
import { CITY_CODE_TO_NAME_MAP, CITY_INDEXES_LIST } from '@/constants/city';
import useCityOperators from '@/hooks/use-city-operators';
import { logWithPrefix } from '@/utils/common';
import './index.less';
@ -68,8 +69,17 @@ export default function SearchCity({
const [touchAnchor, setTouchAnchor] = useState<string | undefined>();
const [touchMoving, setTouchMoving] = useState(false);
const [searchResult, setSearchResult] = useState<Item[]>([]);
const cityOperators = useCityOperators();
const groupCityCodes = cityOperators.map(it => (it.groupLink ? it.cityCode : null)).filter(Boolean);
const showSearchList = searchResult.length > 0;
const CITY_LIST = forGroup ? GROUP_CITY_INDEXES_LIST : CITY_INDEXES_LIST;
const CITY_LIST = forGroup
? CITY_INDEXES_LIST.map(({ letter, data }) => {
return {
letter,
data: data.filter(it => groupCityCodes.includes(it.cityCode)),
};
}).filter(item => item.data.length > 0)
: CITY_INDEXES_LIST;
const handleSearchChange = useCallback((event: BaseEventOrig<InputProps.inputEventDetail>) => {
const value = event.detail.value;