Переглянути джерело

XTable接口报错时loading不消失

shizhong 10 місяців тому
батько
коміт
e1e161322f
1 змінених файлів з 30 додано та 10 видалено
  1. 30 10
      src/components/XTable/src/XTable.vue

+ 30 - 10
src/components/XTable/src/XTable.vue

@@ -160,26 +160,42 @@ const getProxyConfig = (options: XTableProps) => {
               queryParams.pageSize = page.pageSize
               queryParams.pageNo = page.currentPage
             }
-            return new Promise(async (resolve) => {
-              resolve(await getListApi(queryParams))
+            return new Promise(async (resolve, reject) => {
+              try {
+                resolve(await getListApi(queryParams))
+              } catch (e) {
+                reject(e)
+              }
             })
           },
           delete: ({ body }) => {
-            return new Promise(async (resolve) => {
+            return new Promise(async (resolve, reject) => {
               if (options.deleteApi) {
-                resolve(await options.deleteApi(JSON.stringify(body)))
+                try {
+                  resolve(await options.deleteApi(JSON.stringify(body)))
+                } catch (e) {
+                  reject(e)
+                }
               } else {
-                Promise.reject('未设置deleteApi')
+                reject('未设置deleteApi')
               }
             })
           },
           queryAll: ({ form }) => {
             const queryParams = Object.assign({}, JSON.parse(JSON.stringify(form)))
-            return new Promise(async (resolve) => {
+            return new Promise(async (resolve, reject) => {
               if (options.getAllListApi) {
-                resolve(await options.getAllListApi(queryParams))
+                try {
+                  resolve(await options.getAllListApi(queryParams))
+                } catch (e) {
+                  reject(e)
+                }
               } else {
-                resolve(await getListApi(queryParams))
+                try {
+                  resolve(await getListApi(queryParams))
+                } catch (e) {
+                  reject(e)
+                }
               }
             })
           }
@@ -196,8 +212,12 @@ const getProxyConfig = (options: XTableProps) => {
             if (options?.params) {
               queryParams = Object.assign(queryParams, options.params)
             }
-            return new Promise(async (resolve) => {
-              resolve(await getListApi(queryParams))
+            return new Promise(async (resolve, reject) => {
+              try {
+                resolve(await getListApi(queryParams))
+              } catch (e) {
+                reject(e)
+              }
             })
           }
         }