Commit d57c1687 by zhaochengxiang

修复模型bug

parent 48189180
...@@ -13,12 +13,14 @@ const AssetModal = (props)=>{ ...@@ -13,12 +13,14 @@ const AssetModal = (props)=>{
if(visible){ if(visible){
reset() reset()
} }
//eslint-disable-next-line react-hooks/exhaustive-deps
},[visible]) },[visible])
useEffect(()=>{ useEffect(()=>{
if(attrBox2){ if(attrBox2){
reset() reset()
} }
//eslint-disable-next-line react-hooks/exhaustive-deps
},[attrBox2]) },[attrBox2])
const handleOk =async()=>{ const handleOk =async()=>{
......
...@@ -33,17 +33,21 @@ const AssetTable = (props) =>{ ...@@ -33,17 +33,21 @@ const AssetTable = (props) =>{
useEffect(()=>{ useEffect(()=>{
getListBasicAttrs() getListBasicAttrs()
//eslint-disable-next-line react-hooks/exhaustive-deps
},[]) },[])
useEffect(()=>{ useEffect(()=>{
if(nodeId) if(nodeId)
setPageNumber({...pageNumber,page:1,rebuild:new Date().getTime()}) setPageNumber({...pageNumber,page:1,rebuild:new Date().getTime()})
//eslint-disable-next-line react-hooks/exhaustive-deps
},[nodeId]) },[nodeId])
useEffect(()=>{ useEffect(()=>{
if(nodeId&&rebuild!==0) if(nodeId&&rebuild!==0)
getTable() getTable()
//eslint-disable-next-line react-hooks/exhaustive-deps
},[rebuild]) },[rebuild])
......
...@@ -26,6 +26,8 @@ const LeftTree = (props)=>{ ...@@ -26,6 +26,8 @@ const LeftTree = (props)=>{
useEffect(()=>{ useEffect(()=>{
getTree() getTree()
//eslint-disable-next-line react-hooks/exhaustive-deps
},[treeRebuild.build])//获取树数据 },[treeRebuild.build])//获取树数据
const openTree=(expandedKeys)=>{ const openTree=(expandedKeys)=>{
......
...@@ -14,6 +14,8 @@ const ThemeFile = (props)=>{ ...@@ -14,6 +14,8 @@ const ThemeFile = (props)=>{
if(fileVisible){ if(fileVisible){
form.resetFields() form.resetFields()
} }
//eslint-disable-next-line react-hooks/exhaustive-deps
},[fileVisible]) },[fileVisible])
const normFile = (e) => { const normFile = (e) => {
......
...@@ -13,6 +13,8 @@ const TreeModal = (props)=>{ ...@@ -13,6 +13,8 @@ const TreeModal = (props)=>{
if(visible){ if(visible){
reset() reset()
} }
//eslint-disable-next-line react-hooks/exhaustive-deps
},[visible]) },[visible])
const handleOk =async()=>{ const handleOk =async()=>{
......
import React, { useState, useCallback, useRef, useEffect } from 'react'; import React, { useState, useCallback, useRef, useEffect } from 'react';
import { Table, Input, InputNumber, Form, Typography, Radio, Divider, Button, Popconfirm, Select, Row, Col, Popover } from 'antd'; import { Table, Input, Form, Typography, Radio, Divider, Button, Popconfirm, Select, Row, Col, Popover } from 'antd';
import { DndProvider, useDrag, useDrop } from 'react-dnd'; import { DndProvider, useDrag, useDrop } from 'react-dnd';
import { HTML5Backend } from 'react-dnd-html5-backend'; import { HTML5Backend } from 'react-dnd-html5-backend';
import update from 'immutability-helper'; import update from 'immutability-helper';
...@@ -15,18 +15,7 @@ const type = 'DragableTableBodyRow'; ...@@ -15,18 +15,7 @@ const type = 'DragableTableBodyRow';
const DatatypeInput = ({ value = {}, datatypes, onChange }) => { const DatatypeInput = ({ value = {}, datatypes, onChange }) => {
const [ name, setName ] = useState(value.name||'');
const [ parameterCnNames, setParameterCnNames ] = useState(value.parameterCnNames||[]);
const [ parameterValues, setParameterValues ] = useState(value.parameterValues||[]);
useEffect(() => {
setName(value.name||'');
setParameterValues(value.parameterValues||[]);
setParameterCnNames(value.parameterCnNames||[]);
}, [ value ])
const onNameChange = (value) => { const onNameChange = (value) => {
setName(value);
let currentDatatype = {}; let currentDatatype = {};
(datatypes||[]).forEach((datatype, index) => { (datatypes||[]).forEach((datatype, index) => {
...@@ -35,9 +24,6 @@ const DatatypeInput = ({ value = {}, datatypes, onChange }) => { ...@@ -35,9 +24,6 @@ const DatatypeInput = ({ value = {}, datatypes, onChange }) => {
} }
}) })
setParameterCnNames(currentDatatype.parameterCnNames);
setParameterValues(currentDatatype.parameterValues);
triggerChange({ triggerChange({
name: value, name: value,
cnName: currentDatatype.cnName, cnName: currentDatatype.cnName,
...@@ -47,15 +33,18 @@ const DatatypeInput = ({ value = {}, datatypes, onChange }) => { ...@@ -47,15 +33,18 @@ const DatatypeInput = ({ value = {}, datatypes, onChange }) => {
}); });
} }
const onParameterValuesChange = (value, index) => { const onParameterValuesChange = (e, index) => {
const newParameterValues = [...parameterValues]; const parameterValue = e.target.value;
const reg = /^-?\d*(\.\d*)?$/;
if ((!isNaN(parameterValue) && reg.test(parameterValue)) || parameterValue === '') {
const newParameterValues = [...(value.parameterValues||[])];
//默认为0 //默认为0
newParameterValues[index] = value||0; newParameterValues[index] = parameterValue||0;
setParameterValues(newParameterValues);
triggerChange({ parameterValues: newParameterValues }); triggerChange({ parameterValues: newParameterValues });
} }
}
const triggerChange = (changedValue) => { const triggerChange = (changedValue) => {
onChange && onChange({ onChange && onChange({
...@@ -73,7 +62,7 @@ const DatatypeInput = ({ value = {}, datatypes, onChange }) => { ...@@ -73,7 +62,7 @@ const DatatypeInput = ({ value = {}, datatypes, onChange }) => {
<Col span={12}> <Col span={12}>
<Select <Select
onChange={onNameChange} onChange={onNameChange}
value={name} value={value.name || ''}
placeholder='请选择类型名称' placeholder='请选择类型名称'
> >
{ {
...@@ -87,21 +76,21 @@ const DatatypeInput = ({ value = {}, datatypes, onChange }) => { ...@@ -87,21 +76,21 @@ const DatatypeInput = ({ value = {}, datatypes, onChange }) => {
</Col> </Col>
</Row> </Row>
{ {
(parameterCnNames||[]).map((parameterCnName, index) => { (value.parameterCnNames||[]).map((parameterCnName, index) => {
//使用InputNumber:当value改变时 InputNumber显示值没改变 但实际值有改变 是ant design的bug 这里使用只能输入数字的Input
return ( return (
<Row key={index} className='mt-2' align='middle'> <Row key={index} className='mt-2' align='middle'>
<Col span={12}> <Col span={12}>
<span>{`${parameterCnName||''}:`}</span> <span>{`${parameterCnName||''}:`}</span>
</Col> </Col>
<Col span={12}> <Col span={12}>
<InputNumber <Input
onChange={(e) => {
onChange={(value) => { onParameterValuesChange(e, index);
onParameterValuesChange(value, index);
}} }}
min={0} value={value.parameterValues[index] || 0 }
value={parameterValues[index]}
style={{ width: '100%' }} style={{ width: '100%' }}
placeholder='请输入一个整数'
/> />
</Col> </Col>
</Row> </Row>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment