提交 00daecb9 作者: 翁进城

打包前优化

上级 278b3d83
......@@ -3,8 +3,8 @@ import { FilterOptionResp, RegionResp } from "./api";
import ResultItem from "./compoents/resultItem";
import RegionItem from "./compoents/regionItem";
import styles from "./index.module.scss";
import { useEffect, useState , forwardRef , useImperativeHandle } from "react";
import { useRouter } from 'next/router'
import React, { useEffect, useState, forwardRef, useImperativeHandle, Ref } from "react";
import { useRouter } from "next/router";
import BrandItem from "./compoents/brandItem";
import ModelItem from "./compoents/modelItem";
import PartItem from "./compoents/partItem";
......@@ -60,65 +60,74 @@ type Props = {
) => void; //筛选条件更改事件
};
const idArr = ["brandId","categoryId","modelId","partsId","productCategoryId","qualityId","industryId","appTypeId"]
const nameArr:any = {
brandId: {
type:"brandId",
typeObj:"brand",
typeName:"品牌:",
const idArr = [
"brandId",
"categoryId",
"modelId",
"partsId",
"productCategoryId",
"qualityId",
"industryId",
"appTypeId",
];
const nameArr: any = {
brandId: {
type: "brandId",
typeObj: "brand",
typeName: "品牌:",
},
// districtId: {
// districtId: {
// type:"districtId",
// typeObj:"region",
// typeName:"地域:",
// },
modelId:{
type:"modelId",
typeObj:"model",
typeName:"型号:",
modelId: {
type: "modelId",
typeObj: "model",
typeName: "型号:",
},
partsId: {
type:"partsId",
typeObj:"part",
typeName:"部件:",
partsId: {
type: "partsId",
typeObj: "part",
typeName: "部件:",
},
productCategoryId: {
type:"productCategoryId",
typeObj:"category",
typeName:"类目:",
productCategoryId: {
type: "productCategoryId",
typeObj: "category",
typeName: "类目:",
},
qualityId: {
type:"qualityId",
typeObj:"quality",
typeName:"成色:",
qualityId: {
type: "qualityId",
typeObj: "quality",
typeName: "成色:",
},
industryId: {
type:"industryId",
typeObj:"industryId",
typeName:"行业:",
industryId: {
type: "industryId",
typeObj: "industryId",
typeName: "行业:",
},
appTypeId: {
type:"appTypeId",
typeObj:"appTypeId",
typeName:"应用:",
appTypeId: {
type: "appTypeId",
typeObj: "appTypeId",
typeName: "应用:",
},
categoryId: {
type:"categoryId",
typeObj:"categoryId",
typeName:"类目:",
categoryId: {
type: "categoryId",
typeObj: "categoryId",
typeName: "类目:",
},
}
const Filter = forwardRef((props: Props,ref) => {
};
const Filter = (props: Props, ref: Ref<any>) => {
const router = useRouter();
useImperativeHandle(ref, () => ({
idArr:idArr,
clearRouter:clearRouter
}))
idArr: idArr,
clearRouter: clearRouter,
}));
const [result, setResult] = useState<FilterResult>({});
const onChange = (item: FilterOptionResp, type: string) => {
clearRouter()
clearRouter();
let data: { [key: string]: FilterOptionResp } = {};
data[type] = item;
......@@ -139,25 +148,28 @@ const nameArr:any = {
});
}, [result]);
useEffect(()=>{
useEffect(() => {
let queryVal = JSON.parse(JSON.stringify(router.query));
if (Object.keys(router.query).length) {
for (const key in queryVal) {
if (idArr.includes(key)) {
onChange({id:queryVal[key],name: nameArr[key].typeName + queryVal.name},nameArr[key].typeObj)
}
onChange(
{ id: queryVal[key], name: nameArr[key].typeName + queryVal.name },
nameArr[key].typeObj
);
}
}
}
},[router])
}, [router]);
const clearRouter = () => {
if (Object.keys(router.query).length) {
router.query = {}
router.replace(router.pathname)
router.query = {};
router.replace(router.pathname);
}
}
};
const onDel = (key: string) => {
clearRouter()
clearRouter();
//@ts-ignore
delete result[key];
setResult({
......@@ -236,7 +248,6 @@ const nameArr:any = {
</div>
</>
);
}
)
};
export default Filter
\ No newline at end of file
export default forwardRef(Filter);
......@@ -67,7 +67,7 @@ export default function LoginModal(props: Props) {
window.localStorage.setItem("token", res.result.token);
api.userInfo().then((res) => {
setUserInfo(res.result || "");
setUserInfo(res.result);
window.messageApi.success("登录成功");
props.onCancel();
});
......
......@@ -10,7 +10,7 @@ import api, { UserInfoResp } from "~/api";
export const UserContext = createContext<{
testLogin: () => void;
logout: () => void;
userInfo: UserInfoResp | null | "";
userInfo: UserInfoResp | null | undefined;
setUserInfo: Dispatch<SetStateAction<UserInfoResp | null | undefined>>;
needLogin: Boolean;
setNeedLogin: Dispatch<SetStateAction<Boolean>>;
......
import React, { useEffect , useState } from 'react'
import React, { useContext, useEffect , useState } from 'react'
import {useRouter} from 'next/router';
import Layout from "~/components/layout";
import {Box} from './styled';
......@@ -7,14 +7,14 @@ import { Button , Image as AImage , Divider , Select,Modal ,Tag,Space,Form,messa
import Image from 'next/image';
import errImg from "~/assets/errImg";
import api,{GetWebDeviceDetailResult,GetWebDeviceWareSkuById} from './api';
import { useUser } from "~/lib/hooks";
import LoginModal from "~/components/loginModal";
import { UserContext } from '~/lib/userProvider';
const { CheckableTag } = Tag
export default function EquipmentLeasingDetail() {
const router = useRouter();
const userInfo = useUser(); //获取信息
const { userInfo } = useContext(UserContext);
const [openLoginModal, setOpenLoginModal] = useState(false); //登录modal
const [id, setId] = useState<number | null>(null);
......
import React, { useEffect, useState } from "react";
import React, { useContext, useEffect, useState } from "react";
import { Box } from "./styled";
import Image from "next/image";
import { Button, Select, Space, Pagination, Cascader, Modal , Form ,Input,Checkbox, message} from "antd";
......@@ -7,8 +7,8 @@ import Layout from "~/components/layout";
import ContentBox from "~/components/contentBox";
import api, { Flying, SkillsType, RegionResp } from "./api";
import { useRouter } from "next/router";
import { useUser } from "~/lib/hooks";
import LoginModal from "~/components/loginModal";
import { UserContext } from "~/lib/userProvider";
interface FilterInfoParams {
regionId?: number;
flightSkillsId?: number;
......@@ -18,7 +18,7 @@ interface FilterInfoParams {
export default function FlyingHandService() {
const {Option} = Select
const router = useRouter();
const userInfo = useUser(); //获取信息
const {userInfo} = useContext(UserContext);
const [openLoginModal, setOpenLoginModal] = useState(false); //登录modal
const [list, setList] = useState([
"https://pad-video-x.oss-cn-shenzhen.aliyuncs.com/file/540X844-1(1).jpg",
......
......@@ -237,7 +237,7 @@ export default function Forum() {
<Form
form={form}
onFinish={(values) => {
onComment(values, item, i);
onComment(values, item);
}}
>
<Form.Item
......
import React, { useEffect, useState } from "react";
import React, { useContext, useEffect, useState } from "react";
import { Space, Select, Button, message } from "antd";
import Image from "next/image";
import { useRouter } from "next/router";
......@@ -23,8 +23,8 @@ import {
listNewsApi,
} from "./api";
import { BaseOptionType, DefaultOptionType } from "antd/es/select";
import { useUser } from "~/lib/hooks";
import LoginModal from "~/components/loginModal";
import { UserContext } from "~/lib/userProvider";
interface ColumnsType {
title: string;
router: string;
......@@ -32,7 +32,7 @@ interface ColumnsType {
export default function WaterfallFlowBody() {
const router = useRouter();
const userInfo = useUser(); //获取信息
const {userInfo} = useContext(UserContext); //获取信息
const [openLoginModal, setOpenLoginModal] = useState(false); //登录modal
const [list, setList] = useState([
"中国人寿",
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论