Przeglądaj źródła

fix:轮播图页面bug

lvkun 3 lat temu
rodzic
commit
61f429ec36

+ 5 - 10
src/pages/setting/banner/index.tsx

@@ -73,7 +73,6 @@ interface IProps {
 }
 
 interface IState {
-  roleId: string;
   visible: boolean;
   bannerList: IBanner[];
   loading: boolean;
@@ -86,14 +85,15 @@ const MemoSwiperModal = memo(SwiperModal);
 
 const Banner: React.FC<IProps> = ({ roleList, dispatch }) => {
   const [state, setState] = useState<IState>({
-    roleId: '',
     visible: false,
     modalVisible: false,
     loading: false,
     bannerList: [],
   });
 
-  const { roleId, visible, bannerList, loading, modalVisible } = state;
+  const [roleId, setRoleId] = useState<string>('');
+
+  const { visible, bannerList, loading, modalVisible } = state;
 
   // 请求身份分类
   useEffect(() => {
@@ -110,10 +110,7 @@ const Banner: React.FC<IProps> = ({ roleList, dispatch }) => {
   useEffect(() => {
     if (roleList.length === 0) return;
 
-    setState({
-      ...state,
-      roleId: roleList[0].id,
-    });
+    setRoleId(roleList[0].id);
   }, [roleList]);
 
   useEffect(() => {
@@ -286,9 +283,7 @@ const Banner: React.FC<IProps> = ({ roleList, dispatch }) => {
           tab: role.label,
         };
       })}
-      onTabChange={(activeKey) => {
-        setState({ ...state, roleId: activeKey });
-      }}
+      onTabChange={(activeKey) => setRoleId(activeKey)}
     >
       <Card
         extra={

+ 6 - 2
src/pages/setting/banner/modal.tsx

@@ -103,8 +103,12 @@ const BannerDrawer: React.FC<IProps> = ({ visible, opraModal, roleData }) => {
   const collecrtItem = (itemData: IBanner) => {
     console.log(itemData, '收集所有item的结果');
     const r = bannerList.map((_banner: IBanner) => {
-      if (_banner.id === itemData.id) {
-        return itemData;
+      if (_banner.uid === itemData.uid) {
+        return {
+          ...itemData,
+          jumpAppId: itemData.jumpAppId?.trim(),
+          jumpPath: itemData.jumpPath?.trim(),
+        };
       } else {
         return _banner;
       }

+ 1 - 1
src/services/notice.ts

@@ -1,7 +1,7 @@
 import request from '@/utils/request';
 
 import type { PostOrPutNoticeType } from '@/pages/notice/data';
-import { IBanner } from '@/pages/notice/banner/types';
+import { IBanner } from '@/pages/setting/banner/types';
 
 // 查询公告
 type getNoticeType = {