Преглед на файлове

修复表单未渲染的问题

xjj преди 2 години
родител
ревизия
56d0611eda
променени са 2 файла, в които са добавени 17 реда и са изтрити 9 реда
  1. 3 3
      src/components/AuditForm/ItemAttribute.js
  2. 14 6
      src/components/AuditForm/index.js

+ 3 - 3
src/components/AuditForm/ItemAttribute.js

@@ -361,7 +361,7 @@ function SelectItem(props) {
     let tempValue = [
       ...localValue,
       {
-        id: +new Date(),
+        id: item,
         value: item,
       },
     ];
@@ -382,7 +382,7 @@ function SelectItem(props) {
     onChange(tempValue);
   };
   useEffect(() => {
-    let tempValue = value.map((item) => ({ id: +new Date(), value: item }));
+    let tempValue = value.map((item) => ({ id: item, value: item }));
     setLocalValue(tempValue);
     onChange(tempValue);
   }, []);
@@ -419,7 +419,7 @@ function SelectItem(props) {
               alignItems: 'center',
               marginBottom: 5,
             }}
-            key={item.id}
+            key={item.value}
           >
             <Input
               style={{ marginRight: 10 }}

+ 14 - 6
src/components/AuditForm/index.js

@@ -11,13 +11,13 @@ function AuditForm(props) {
   const [select, setSelect] = useState(-1);
   const [visible, setVisible] = useState(false);
 
-  const handleAddItem = item => {
+  const handleAddItem = (item) => {
     const formItem = generateItem(item);
     handleChangeList([...formList, formItem]);
     setVisible(false);
   };
 
-  const generateItem = item => {
+  const generateItem = (item) => {
     let newItem = {
       ...item,
       props: { ...item.props, id: `${item.componentName}_${uuidv4()}` },
@@ -26,13 +26,13 @@ function AuditForm(props) {
     return newItem;
   };
 
-  const onChangeAttribute = newItem => {
+  const onChangeAttribute = (newItem) => {
     let oldValue = formList[select].props;
     formList[select].props = { ...oldValue, ...newItem };
     handleChangeList([...formList]);
   };
 
-  const handleChangeList = list => {
+  const handleChangeList = (list) => {
     setFormList(list);
     onChange?.(list);
   };
@@ -56,8 +56,16 @@ function AuditForm(props) {
           marginTop: 20,
         }}
       >
-        <FormContent onSelect={setSelect} onChange={handleChangeList} list={formList}></FormContent>
-        <ItemAttribute item={formList[select]} onChange={onChangeAttribute}></ItemAttribute>
+        <FormContent
+          onSelect={setSelect}
+          onChange={handleChangeList}
+          list={formList}
+        ></FormContent>
+        <ItemAttribute
+          key={select}
+          item={formList[select]}
+          onChange={onChangeAttribute}
+        ></ItemAttribute>
       </div>
       <ComponentLibrary
         onOk={handleAddItem}