优化地址选择
This commit is contained in:
parent
9de3625421
commit
29055ecb70
11
src/api/search.ts
Normal file
11
src/api/search.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { useRequest } from "@/use/useHttp"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取热门搜索
|
||||||
|
*/
|
||||||
|
export const getHotSearchApi = () => {
|
||||||
|
return useRequest({
|
||||||
|
url: `/v1/mall/hotSearch`,
|
||||||
|
method: "get",
|
||||||
|
})
|
||||||
|
}
|
@ -14,6 +14,7 @@ type Params = {
|
|||||||
addressOnClose?: () => void,
|
addressOnClose?: () => void,
|
||||||
show?: true|false,
|
show?: true|false,
|
||||||
defaultValue?:DefaultValueParm[]
|
defaultValue?:DefaultValueParm[]
|
||||||
|
selectStatus?: false|true, //false不需要选择完整地址,true需要选择完整地址
|
||||||
}
|
}
|
||||||
|
|
||||||
type AddresParam = {
|
type AddresParam = {
|
||||||
@ -22,7 +23,8 @@ type AddresParam = {
|
|||||||
level?: number,
|
level?: number,
|
||||||
level_name?: string,
|
level_name?: string,
|
||||||
name?: string,
|
name?: string,
|
||||||
parent_id?: number
|
parent_id?: number,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -30,7 +32,8 @@ export default memo(({
|
|||||||
addressOnSelect,
|
addressOnSelect,
|
||||||
addressOnClose,
|
addressOnClose,
|
||||||
show = false,
|
show = false,
|
||||||
defaultValue = []
|
defaultValue = [],
|
||||||
|
selectStatus = true
|
||||||
}: Params) => {
|
}: Params) => {
|
||||||
//省
|
//省
|
||||||
const provinceList = useRef<AddresParam[]>([])
|
const provinceList = useRef<AddresParam[]>([])
|
||||||
@ -45,6 +48,7 @@ export default memo(({
|
|||||||
const [selectArr, setSelectArr] = useState<DefaultValueParm[]>([]) //选中的省市区
|
const [selectArr, setSelectArr] = useState<DefaultValueParm[]>([]) //选中的省市区
|
||||||
const [cityStatus, setCityStatus] = useState(false) //城市是否存在
|
const [cityStatus, setCityStatus] = useState(false) //城市是否存在
|
||||||
const [areaStatus, setAreaStatus] = useState(false) //区镇是否存在
|
const [areaStatus, setAreaStatus] = useState(false) //区镇是否存在
|
||||||
|
const [confirmBtnStatus, setConfirmBtnStatus] = useState(false) //确认按钮是否可用
|
||||||
|
|
||||||
const [bottomStyle, setBottomStyle] = useState({width:'100rpx',left:'0rpx'}) //底部滚动条样式
|
const [bottomStyle, setBottomStyle] = useState({width:'100rpx',left:'0rpx'}) //底部滚动条样式
|
||||||
|
|
||||||
@ -53,6 +57,7 @@ export default memo(({
|
|||||||
setSelectArr(defaultValue)
|
setSelectArr(defaultValue)
|
||||||
if(defaultValue.length > 1) setCityStatus(true)
|
if(defaultValue.length > 1) setCityStatus(true)
|
||||||
if(defaultValue.length > 2) setAreaStatus(true)
|
if(defaultValue.length > 2) setAreaStatus(true)
|
||||||
|
if(defaultValue.length > 0) setConfirmBtnStatus(true)
|
||||||
}
|
}
|
||||||
}, [defaultValue])
|
}, [defaultValue])
|
||||||
|
|
||||||
@ -117,7 +122,9 @@ export default memo(({
|
|||||||
setList(() => cityList.current)
|
setList(() => cityList.current)
|
||||||
setCityStatus(true)
|
setCityStatus(true)
|
||||||
getDomDes('#address_tab_1')
|
getDomDes('#address_tab_1')
|
||||||
|
setConfirmBtnStatus(false)
|
||||||
} else {
|
} else {
|
||||||
|
setConfirmBtnStatus(true)
|
||||||
setCityStatus(false)
|
setCityStatus(false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -131,7 +138,9 @@ export default memo(({
|
|||||||
setList(() => areaList.current)
|
setList(() => areaList.current)
|
||||||
setAreaStatus(true)
|
setAreaStatus(true)
|
||||||
getDomDes('#address_tab_2')
|
getDomDes('#address_tab_2')
|
||||||
|
setConfirmBtnStatus(false)
|
||||||
} else {
|
} else {
|
||||||
|
setConfirmBtnStatus(true)
|
||||||
setAreaStatus(false)
|
setAreaStatus(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -139,8 +148,20 @@ export default memo(({
|
|||||||
|
|
||||||
//确定按钮
|
//确定按钮
|
||||||
const submitSelect = () => {
|
const submitSelect = () => {
|
||||||
addressOnClose?.()
|
if(selectStatus) {
|
||||||
addressOnSelect?.(selectArr)
|
if(confirmBtnStatus || selectArr.length == 3) {
|
||||||
|
addressOnClose?.()
|
||||||
|
addressOnSelect?.(selectArr)
|
||||||
|
} else {
|
||||||
|
Taro.showToast({title:'请选择完整地址',icon:'none'})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
addressOnClose?.()
|
||||||
|
addressOnSelect?.(selectArr)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取省市区宽度
|
//获取省市区宽度
|
||||||
|
Loading…
x
Reference in New Issue
Block a user