Commit ed90134d by zhaochengxiang

模型字段拖动导致报错

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