Просмотр исходного кода

fix: 修复EditForm下Select多选模式下的bug

lanjianrong 5 лет назад
Родитель
Сommit
5910f92a50

+ 14 - 7
src/components/EditableForm/src/components/ChangeSelect.jsx

@@ -2,11 +2,19 @@ import React, { forwardRef, useState } from 'react'
 import { Select } from 'antd'
 
 const ChangeSelect = props => {
-  const { defaultValue, refinstance, options, onSave, ...resetProps } = props
-  const extraDefaultValue =
-    options.findIndex(item => item.value === defaultValue || item.key === defaultValue) !== -1
-      ? defaultValue
-      : null
+  const { defaultValue, refinstance, options, onSave } = props
+  let extraDefaultValue
+  let mode = null
+  if (Array.isArray(defaultValue)) {
+    extraDefaultValue = defaultValue
+    mode = 'multiple'
+  } else {
+    extraDefaultValue =
+      options.findIndex(item => item.value === defaultValue || item.key === defaultValue) !== -1
+        ? defaultValue
+        : null
+  }
+
   const [selectedObj, setSelectedObj] = useState({ value: extraDefaultValue, label: '' })
 
   const handleOnChange = (value, option) => {
@@ -27,13 +35,12 @@ const ChangeSelect = props => {
 
   return (
     <Select
-      {...resetProps}
       defaultValue={extraDefaultValue}
       ref={refinstance}
       onBlur={() => onSave({ currentTarget: { ...selectedObj } })}
       options={options}
       defaultOpen={true}
-      // mode={Array.isArray(selectedObj.value) ? 'multiple' : null}
+      mode={mode}
       onChange={handleOnChange}
       className="w-full"
     />

+ 0 - 1
src/components/EditableForm/src/editableFormItem.jsx

@@ -11,7 +11,6 @@ import ChangeTreeSelect from './components/ChangeTreeSelect'
 import ChangeDatePicker from './components/ChangeDatePicker'
 
 const extraValArr = ['cascader', 'select', 'treeSelect'] // 需要设置ExtraVal的类型
-
 const EditableFormItem = ({
   type,
   label,

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

@@ -24,7 +24,7 @@ const AddCompany = props => {
       title="添加客户"
       {...layout}
       trigger={
-        <Button key="button" type="primary">
+        <Button key="button" type="primary" className="mr-1">
           <Plus theme="filled" className="mr-1" />
           <span>客户</span>
         </Button>

+ 1 - 1
src/pages/Customer/Contact/components/AddContact/index.jsx

@@ -17,7 +17,7 @@ const Addcontact = props => {
       {...layout}
       title={<ModalDrag title={'添加联系人'} />}
       trigger={
-        <Button type="primary" {...buttonProps} className="items-center">
+        <Button type="primary" {...buttonProps} className="mr-1">
           <Plus className="mr-1" />
           联系人
         </Button>

+ 1 - 1
src/pages/Customer/Contact/components/ContactDetail/AddRecord.jsx

@@ -19,7 +19,7 @@ const AddRecord = props => {
       formRef={formRef}
       trigger={
         <Button type="primary" ghost size="small" className="mr-1">
-          <Plus /> 添加服务记录
+          <Plus className="mr-1" /> 添加服务记录
         </Button>
       }
       onFinish={async values => {