ソースを参照

fix: 客户/单位下动态校验表单空值时防抖函数未被消费掉

lanjianrong 4 年 前
コミット
f16c4e924e

+ 2 - 1
src/pages/Customer/Client/components/AddClient/TelephoneFormItem.jsx

@@ -32,11 +32,12 @@ const TelephoneFormItem = ({ value, onChange, validateFn }) => {
     }
   }
 
-  const { run: handleQueryList } = useDebounceFn(queryList, { wait: 600 })
+  const { run: handleQueryList, cancel: cancelQuerying } = useDebounceFn(queryList, { wait: 600 })
 
   const handleOnInputChange = async e => {
     const val = e.target.value || ''
     if (!val) {
+      cancelQuerying()
       setState({ ...state, inputVal: val, list: null, visible: false })
       validateFn(validateEnum.Error)
     } else {

+ 2 - 1
src/pages/Customer/Company/components/AddCompany/CompanyFormItem.jsx

@@ -38,11 +38,12 @@ const CompanyFormItem = ({ value, onChange, validateFn }) => {
     }
   }
 
-  const { run: handleQueryList } = useDebounceFn(queryList, { wait: 600 })
+  const { run: handleQueryList, cancel: cancelQuerying } = useDebounceFn(queryList, { wait: 600 })
 
   const handleOnInputChange = async e => {
     const val = e.target.value || ''
     if (!val) {
+      cancelQuerying()
       setState({ ...state, inputVal: val, list: null, visible: false })
       validateFn(validateEnum.Error)
     } else {