This commit is contained in:
2022-05-11 14:28:14 +08:00
parent d0f069937b
commit 8c3e4e9bc1
6 changed files with 129 additions and 149 deletions
+49 -96
View File
@@ -4,6 +4,8 @@ import Drawer from "@/components/popup";
import styles from "./index.module.scss"
import classnames from "classnames";
import Taro from "@tarojs/taro";
import { GetAddressListApi } from "@/api/addressList";
type Params = {
addressOnSelect?: ({}:{name: string, id:string|number}) => void,
@@ -15,90 +17,47 @@ export default memo(({
addressOnSelect,
addressOnClose,
show = false
}: Params) => {
const list1 = [
{
name:'广东1',
id:1
},
{
name:'广东2',
id:2
},
{
name:'广东3',
id:3
},
{
name:'广东4',
id:4
},
{
name:'广东5',
id:5
},
{
name:'广东6',
id:6
}
]
const list2 = [
{
name:'佛山1佛山1佛山1佛山1佛山1',
id:7
},
{
name:'佛山2',
id:8
},
{
name:'佛山3',
id:9
},
{
name:'佛山4',
id:10
},
{
name:'佛山5',
id:11
},
{
name:'佛山6',
id:12
}
]
//获取地址
const {fetchData} = GetAddressListApi()
useEffect(() => {
getAddressList()
setList(provinceList)
}, [])
const list3 = [
{
name:'禅城区1',
id:13
},
{
name:'禅城区2',
id:14
},
{
name:'禅城区3',
id:15
},
{
name:'禅城区4',
id:16
},
{
name:'禅城区5',
id:17
},
{
name:'禅城区6',
id:18
const condition = useRef({parent_id:1})
const getAddressList = async () => {
let res = await fetchData(condition.current)
const lists = res.data.list||[]
if(selectIndex == 0) {
setProvinceList(lists)
} else if(selectIndex == 1) {
setCityList(lists)
} else {
setAreaList(lists)
}
]
setList(lists)
}
const [list, setList] = useState(list1)
type AddresParam = {
ad_code?: string,
id?: number,
level?: number,
level_name?: string,
name?: string,
parent_id?: number
}
//省
const [provinceList, setProvinceList] = useState<AddresParam[]>([])
//市
const [cityList, setCityList] = useState<AddresParam[]>([])
//区
const [areaList, setAreaList] = useState<AddresParam[]>([])
const [list, setList] = useState<AddresParam[]>([])
const [selectIndex, setSelectIndex] = useState(0) //0 省, 1 市,2 区
const [selectId, setSelectId] = useState(0) //选中的id
const [selectArr, setSelectArr] = useState<any>([]) //选中的省市区
@@ -132,8 +91,7 @@ export default memo(({
useEffect(() => {
if(selectIndex == 0) {
setList(list1)
// getDomDes('#address_tab_0')
setList(provinceList)
} else if (selectIndex == 1) {
getCity()
} else {
@@ -142,27 +100,22 @@ export default memo(({
}, [selectIndex])
//获取市
const getCity = () => {
setTimeout(() => {
if(list2.length > 0) {
setSelectIndex(1)
setList(() => { return list2 })
setCityStatus(true)
getDomDes('#address_tab_1')
} else {
setCityStatus(false)
}
},10)
const getCity = async () => {
await getAddressList()
if(cityList.length > 0) {
setSelectIndex(1)
setCityStatus(true)
getDomDes('#address_tab_1')
} else {
setCityStatus(false)
}
}
//获取区
const area = () => {
// setAreaStatus(false)
setTimeout(() => {
if(list3.length > 0) {
if(areaList.length > 0) {
setSelectIndex(2)
setList(() => { return list3 })
setAreaStatus(true)
getDomDes('#address_tab_2')
} else {