Commit ed90134d by zhaochengxiang

模型字段拖动导致报错

parent e2f5f9cf
...@@ -24,6 +24,7 @@ const ImportAction = (props) => { ...@@ -24,6 +24,7 @@ const ImportAction = (props) => {
const [ loading, setLoading ] = useState(false); const [ loading, setLoading ] = useState(false);
const mountRef = useRef(true); const mountRef = useRef(true);
const modelerDataRef = useRef(null);
useEffect(() =>{ useEffect(() =>{
...@@ -46,6 +47,7 @@ const ImportAction = (props) => { ...@@ -46,6 +47,7 @@ const ImportAction = (props) => {
onChange && onChange(newModelerData); onChange && onChange(newModelerData);
setModelerData(newModelerData); setModelerData(newModelerData);
modelerDataRef.current = newModelerData;
} }
setLoading(true); setLoading(true);
...@@ -128,7 +130,9 @@ const ImportAction = (props) => { ...@@ -128,7 +130,9 @@ const ImportAction = (props) => {
let newModelerData = {...(data||{})}; let newModelerData = {...(data||{})};
newModelerData = { ...newModelerData, ...getAllNewKeysAfterTableChange(newModelerData) }; newModelerData = { ...newModelerData, ...getAllNewKeysAfterTableChange(newModelerData) };
setModelerData(newModelerData) setModelerData(newModelerData);
modelerDataRef.current = newModelerData;
onChange && onChange(newModelerData); onChange && onChange(newModelerData);
validateDataModel(newModelerData); validateDataModel(newModelerData);
...@@ -190,6 +194,8 @@ const ImportAction = (props) => { ...@@ -190,6 +194,8 @@ const ImportAction = (props) => {
const getExtraData = (data) => { const getExtraData = (data) => {
setModelerData(data||{}); setModelerData(data||{});
modelerDataRef.current = data||{};
setConstraint(data.easyDataModelerModelingConstraint||{}); setConstraint(data.easyDataModelerModelingConstraint||{});
setTemplate(data.easyDataModelerModelingTemplate||{}); setTemplate(data.easyDataModelerModelingTemplate||{});
onChange && onChange(data||{}); onChange && onChange(data||{});
...@@ -234,7 +240,9 @@ const ImportAction = (props) => { ...@@ -234,7 +240,9 @@ const ImportAction = (props) => {
easyDataModelerModelingConstraint: currentConstraint easyDataModelerModelingConstraint: currentConstraint
}); });
const newModelerData = {...modelerData, easyDataModelerModelingConstraint: currentConstraint }; const newModelerData = {...modelerData, easyDataModelerModelingConstraint: currentConstraint };
setModelerData(newModelerData) setModelerData(newModelerData);
modelerDataRef.current = newModelerData;
onChange && onChange(newModelerData); onChange && onChange(newModelerData);
setConstraint(currentConstraint); setConstraint(currentConstraint);
...@@ -256,7 +264,9 @@ const ImportAction = (props) => { ...@@ -256,7 +264,9 @@ const ImportAction = (props) => {
const newModelerData = {...modelerData, easyDataModelerModelingTemplate: currentTemplate }; const newModelerData = {...modelerData, easyDataModelerModelingTemplate: currentTemplate };
setModelerData(newModelerData) setModelerData(newModelerData);
modelerDataRef.current = newModelerData;
onChange && onChange(newModelerData); onChange && onChange(newModelerData);
setTemplate(currentTemplate); setTemplate(currentTemplate);
...@@ -307,6 +317,8 @@ const ImportAction = (props) => { ...@@ -307,6 +317,8 @@ const ImportAction = (props) => {
} }
setModelerData(newModelerData); setModelerData(newModelerData);
modelerDataRef.current = newModelerData;
onChange && onChange(newModelerData); onChange && onChange(newModelerData);
if (changedValues.hasOwnProperty('name') || changedValues.hasOwnProperty('cnName')) { if (changedValues.hasOwnProperty('name') || changedValues.hasOwnProperty('cnName')) {
...@@ -317,11 +329,13 @@ const ImportAction = (props) => { ...@@ -317,11 +329,13 @@ const ImportAction = (props) => {
//validate 是否需要对字段进行校验 //validate 是否需要对字段进行校验
const onTableChange = (data, validate=false) => { const onTableChange = (data, validate=false) => {
let newModelerData = {...modelerData, ...{easyDataModelerDataModelAttributes: data}}; let newModelerData = {...modelerDataRef.current, ...{easyDataModelerDataModelAttributes: data}};
newModelerData = { ...newModelerData, ...getAllNewKeysAfterTableChange(newModelerData) }; newModelerData = { ...newModelerData, ...getAllNewKeysAfterTableChange(newModelerData) };
setModelerData(newModelerData); setModelerData(newModelerData);
modelerDataRef.current = newModelerData;
onChange && onChange(newModelerData); onChange && onChange(newModelerData);
if (validate) { if (validate) {
...@@ -336,7 +350,7 @@ const ImportAction = (props) => { ...@@ -336,7 +350,7 @@ const ImportAction = (props) => {
dispatch({ dispatch({
type: 'datamodel.validateDataModel', type: 'datamodel.validateDataModel',
payload: { payload: {
data: (action==='detail'||action==='flow'||action==='detail-version')?data:{ ...data, name: row.name||'', cnName: row.cnName||'' }, data: (action==='detail'||action==='flow'||action==='detail-version')?data:{ ...data, ...{ name: row.name||'', cnName: row.cnName||'' } },
}, },
callback: _data => { callback: _data => {
setValidateReports(_data||[]); setValidateReports(_data||[]);
...@@ -345,9 +359,11 @@ const ImportAction = (props) => { ...@@ -345,9 +359,11 @@ const ImportAction = (props) => {
} }
const onIndexChange = (data, validate=false) => { const onIndexChange = (data, validate=false) => {
const newModelerData = {...modelerData, easyDataModelerIndices: data}; const newModelerData = {...modelerDataRef.current, easyDataModelerIndices: data};
setModelerData(newModelerData); setModelerData(newModelerData);
modelerDataRef.current = newModelerData;
onChange && onChange(newModelerData); onChange && onChange(newModelerData);
if (validate) { if (validate) {
......
...@@ -261,8 +261,9 @@ const ImportActionTable = (props) => { ...@@ -261,8 +261,9 @@ const ImportActionTable = (props) => {
const [ insertIndex, setInsertIndex ] = useState(0); const [ insertIndex, setInsertIndex ] = useState(0);
const [ currentItem, setCurrentItem ] = useState(null); const [ currentItem, setCurrentItem ] = useState(null);
const moveRowRef = useRef({ data, onChange, pageNum, pageSize }); const moveRowRef = useRef({ data, pageNum, pageSize });
const tableRef = useRef(null); const tableRef = useRef(null);
const onChangeRef = useRef(onChange);
const { show } = useContextMenu({ const { show } = useContextMenu({
id: MENU_ID, id: MENU_ID,
...@@ -1066,7 +1067,7 @@ const ImportActionTable = (props) => { ...@@ -1066,7 +1067,7 @@ const ImportActionTable = (props) => {
const moveRow = useCallback( const moveRow = useCallback(
(dragIndex, hoverIndex) => { (dragIndex, hoverIndex) => {
const { data, onChange, pageNum, pageSize } = moveRowRef.current; const { data, pageNum, pageSize } = moveRowRef.current;
let realDragIndex = dragIndex; let realDragIndex = dragIndex;
let realHoverIndex = hoverIndex; let realHoverIndex = hoverIndex;
...@@ -1201,9 +1202,6 @@ const ImportActionTable = (props) => { ...@@ -1201,9 +1202,6 @@ const ImportActionTable = (props) => {
size='small' size='small'
rowKey='iid' rowKey='iid'
pagination={false} pagination={false}
scroll={{
x: 'max-content'
}}
sticky sticky
expandable={{ expandable={{
columnWidth: 0, columnWidth: 0,
......
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