diff --git a/src/pages/Web/index.scss b/src/pages/Web/index.scss index 711c9d8..a66e51f 100644 --- a/src/pages/Web/index.scss +++ b/src/pages/Web/index.scss @@ -5,7 +5,6 @@ gap: 20px; justify-items: center; min-height: 100px; - margin-top: 40px; .item { overflow: hidden; diff --git a/src/pages/Web/index.tsx b/src/pages/Web/index.tsx index 1b15c31..372e952 100644 --- a/src/pages/Web/index.tsx +++ b/src/pages/Web/index.tsx @@ -15,7 +15,7 @@ export default () => { const [form] = Form.useForm(); const [tab, setTab] = useState('list'); - const [list, setList] = useState([]); + const [list, setList] = useState<{ [key: string]: Web[] }>({}); const [listTemp, setListTemp] = useState([]); const [typeList, setTypeList] = useState([]); const [search, setSearch] = useState(''); @@ -33,9 +33,18 @@ export default () => { data.sort((a, b) => a.order - b.order) data.sort((a, b) => a.type.order - b.type.order) - setList(data); - setListTemp(data); + const grouped = data.reduce((acc, item) => { + const groupName = item.type.name; + if (!acc[groupName]) { + acc[groupName] = []; + } + acc[groupName].push(item); + return acc; + }, {} as { [key: string]: Web[] }); + console.log("grouped:", grouped); + setList(grouped); + setListTemp(data); setLoading(false) } catch (error) { setLoading(false); @@ -45,6 +54,8 @@ export default () => { // 获取网站类型列表 const getWebTypeList = async () => { const { data } = await getWebTypeListAPI(); + console.log("typeList:", { data }); + setTypeList(data); }; @@ -54,7 +65,7 @@ export default () => { }, []); useEffect(() => { - setListTemp(list.filter(item => item.title.includes(search) || item.description.includes(search))); + // setListTemp(list.filter(item => item.title.includes(search) || item.description.includes(search))); }, [search, list]); const deleteLinkData = async (id: number) => { @@ -77,8 +88,8 @@ export default () => { const { data } = await getLinkDataAPI(record.id) setLink(data); - form.setFieldsValue(data); + form.setFieldsValue(data); setEditLoading(false) } catch (error) { setEditLoading(false) @@ -138,7 +149,7 @@ export default () => { key: 'list', children: (
-
+
{
- {listTemp.length > 0 ? ( -
- { - listTemp.map(item => ( -
-
- -
+
+ { + Object.keys(list).map((key) => ( +
+ {key} -
{item.title}
-
{item.description}
-
{item.type.name}
+ { + Object.values(list[key]).length ? ( +
+ { + Object.values(list[key]).map(item => ( +
+
+ +
-
-
editLinkData(item)} className="edit">修改
+
{item.title}
+
{item.description}
+
{item.type.name}
- deleteLinkData(item.id!)}> -
删除
-
-
+
+
editLinkData(item)} className="edit">修改
-
toHref(item.url)} className="headFor">前往该网站 →
-
- )) - } -
- ) : ( - - )} + deleteLinkData(item.id!)}> +
删除
+
+
+ +
toHref(item.url)} className="headFor">前往该网站 →
+
+ )) + } +
+ ) : + } +
+ )) + } +
),