Explorar el Código

fix: 修复批量删除操作

xieyonghong hace 3 años
padre
commit
a0a43aa05a
Se han modificado 2 ficheros con 15 adiciones y 11 borrados
  1. 1 1
      package.json
  2. 14 10
      src/pages/iot-card/CardManagement/index.tsx

+ 1 - 1
package.json

@@ -58,7 +58,7 @@
     "@ant-design/pro-card": "^1.16.2",
     "@ant-design/pro-descriptions": "^1.6.8",
     "@ant-design/pro-form": "^1.18.3",
-    "@ant-design/pro-layout": "^6.36.0",
+    "@ant-design/pro-layout": "^6.27.2",
     "@ant-design/pro-list": "^1.21.61",
     "@formily/antd": "2.1.6",
     "@formily/core": "2.1.6",

+ 14 - 10
src/pages/iot-card/CardManagement/index.tsx

@@ -49,6 +49,9 @@ const CardManagementNode = () => {
   const intl = useIntl();
   const history = useHistory();
   const location = useLocation();
+  const deleteItems = useRef<any>();
+
+  deleteItems.current = new Map();
 
   useEffect(() => {
     const { state } = location;
@@ -464,9 +467,10 @@ const CardManagementNode = () => {
             popConfirm={{
               title: '确认删除吗?',
               onConfirm: async () => {
-                service.removeCards(bindKeys).then((res) => {
+                service.removeCards([...deleteItems.current.values()]).then((res) => {
                   if (res.status === 200) {
                     setBindKeys([]);
+                    deleteItems.current.clear();
                     message.success('操作成功');
                     actionRef?.current?.reload();
                   }
@@ -578,25 +582,25 @@ const CardManagementNode = () => {
           onChange: (selectedRowKeys) => {
             setBindKeys(selectedRowKeys);
           },
-          onSelect: (_, selected) => {
+          onSelect: (record, selected) => {
             if (selected) {
-              // InstanceModel.selectedRows.set(record.id, record?.state?.value);
+              deleteItems.current.set(record.id, record);
             } else {
-              // InstanceModel.selectedRows.delete(record.id);
+              deleteItems.current.delete(record.id);
             }
-            // setBindKeys([...InstanceModel.selectedRows.keys()]);
+            setBindKeys([...deleteItems.current.keys()]);
           },
           onSelectAll: (selected, _, changeRows) => {
             if (selected) {
-              changeRows.forEach(() => {
-                // InstanceModel.selectedRows.set(item.id, item?.state?.value);
+              changeRows.forEach((item: any) => {
+                deleteItems.current.set(item.id, item);
               });
             } else {
-              changeRows.forEach(() => {
-                // InstanceModel.selectedRows.delete(item.id);
+              changeRows.forEach((item: any) => {
+                deleteItems.current.delete(item.id);
               });
             }
-            // setBindKeys([...InstanceModel.selectedRows.keys()]);
+            setBindKeys([...deleteItems.current.keys()]);
           },
         }}
         headerTitle={[