Browse Source

修复ant-table组件缓存导致渲染列内容只能渲染一次问题

master
wangxiang 3 years ago
parent
commit
d65be79159
  1. 13
      src/components/AMap/src/components/MapTaskModal.vue
  2. 9
      src/components/AMap/src/components/MapTaskPresetModal.vue
  3. 3
      src/components/Table/src/components/editable/EditableCell.vue

13
src/components/AMap/src/components/MapTaskModal.vue

@ -63,9 +63,8 @@
import { BasicTable, useTable, EditRecordRow, BasicColumn, ActionItem, TableAction } from '/@/components/Table'; import { BasicTable, useTable, EditRecordRow, BasicColumn, ActionItem, TableAction } from '/@/components/Table';
import { MapPointType, taskOrdinaryColumns, taskPresetColumns } from '../amap.data'; import { MapPointType, taskOrdinaryColumns, taskPresetColumns } from '../amap.data';
import TaskPresetModal from './MapTaskPresetModal.vue'; import TaskPresetModal from './MapTaskPresetModal.vue';
import { buildUUID } from '/@/utils/uuid';
import { useMessage } from '/@/hooks/web/useMessage'; import { useMessage } from '/@/hooks/web/useMessage';
import {add, cloneDeep} from 'lodash-es'; import { add, cloneDeep, omit } from 'lodash-es';
import { defaultMapData } from '/@/enums/amapEnum'; import { defaultMapData } from '/@/enums/amapEnum';
import { MapLogistic } from '/@/api/platform/common/entity/mapLogistic'; import { MapLogistic } from '/@/api/platform/common/entity/mapLogistic';
@ -149,8 +148,8 @@
}, },
]; ];
const mapTask = cloneDeep(state.mapData?.mapTask || []); const mapTask = cloneDeep(state.mapData?.mapTask || []);
setTaskOrdinaryTableData(mapTask.filter(item => ~~item.taskType == 0)); setTaskOrdinaryTableData(mapTask.filter(item => ~~item.taskType == 0).map(item => omit(item, 'key')));
setTaskPresetTableData(mapTask.filter(item => ~~item.taskType == 1)); setTaskPresetTableData(mapTask.filter(item => ~~item.taskType == 1).map(item => omit(item, 'key')));
// : // :
setTaskOrdinaryColumns(taskOrdinaryColumns.map(item => setTaskOrdinaryColumns(taskOrdinaryColumns.map(item =>
taskOrdinaryUpdateColumns.find(e => e.dataIndex == item.dataIndex) || item taskOrdinaryUpdateColumns.find(e => e.dataIndex == item.dataIndex) || item
@ -216,8 +215,7 @@
hospitalId: '', hospitalId: '',
taskType: '0', taskType: '0',
orgId: '', orgId: '',
fileId: [], fileId: []
key: buildUUID()
}); });
} }
@ -239,8 +237,7 @@
hospitalId: '', hospitalId: '',
taskType: '1', taskType: '1',
orgName: '等待收样员设置!', orgName: '等待收样员设置!',
fileId: [], fileId: []
key: buildUUID()
}); });
} }

9
src/components/AMap/src/components/MapTaskPresetModal.vue

@ -48,10 +48,8 @@
import { BasicTable, useTable, EditRecordRow, BasicColumn, ActionItem, TableAction } from '/@/components/Table'; import { BasicTable, useTable, EditRecordRow, BasicColumn, ActionItem, TableAction } from '/@/components/Table';
import { MapPointType, taskPresetChildColumns } from '../amap.data'; import { MapPointType, taskPresetChildColumns } from '../amap.data';
import { listUser } from '/@/api/platform/system/controller/user'; import { listUser } from '/@/api/platform/system/controller/user';
import { buildUUID } from '/@/utils/uuid';
import { useMessage } from '/@/hooks/web/useMessage'; import { useMessage } from '/@/hooks/web/useMessage';
import {add, cloneDeep} from 'lodash-es'; import { add, cloneDeep, omit } from 'lodash-es';
import { listOrg } from '/@/api/platform/common/controller/org';
/** 类型规范统一声明定义区域 */ /** 类型规范统一声明定义区域 */
type OptionsType = { type OptionsType = {
@ -127,7 +125,7 @@
// //
const lastElement = mapTaskPresetData[mapTaskPresetData.length - 1]; const lastElement = mapTaskPresetData[mapTaskPresetData.length - 1];
lastElement && (state.modelRef.destinationPresetId = lastElement.destinationPresetId); lastElement && (state.modelRef.destinationPresetId = lastElement.destinationPresetId);
setTableData(cloneDeep(state.taskPresetRow?.mapTaskPreset || [])); setTableData(mapTaskPresetData.map(item => omit(item, 'key')));
// : // :
setModalProps(props); setModalProps(props);
}); });
@ -158,8 +156,7 @@
courierUserId: '', courierUserId: '',
orginPresetName: '等待收样员设置!', orginPresetName: '等待收样员设置!',
destinationPresetName: '等待收样员设置!', destinationPresetName: '等待收样员设置!',
fileId: [], fileId: []
key: buildUUID()
}); });
} }

3
src/components/Table/src/components/editable/EditableCell.vue

@ -337,9 +337,7 @@
: (props.record[cbs] = [handle]); : (props.record[cbs] = [handle]);
} }
} }
console.log(props,props.record,'外面层')
if (props.record) { if (props.record) {
console.log('进来了')
initCbs('submitCbs', handleSubmit); initCbs('submitCbs', handleSubmit);
initCbs('validCbs', handleSubmiRule); initCbs('validCbs', handleSubmiRule);
initCbs('cancelCbs', handleCancel); initCbs('cancelCbs', handleCancel);
@ -353,7 +351,6 @@
isArray(props.record?.cancelCbs) && props.record?.cancelCbs.forEach((fn) => fn()); isArray(props.record?.cancelCbs) && props.record?.cancelCbs.forEach((fn) => fn());
}; };
/* eslint-disable */ /* eslint-disable */
console.log('onSubmitEdit')
props.record.onSubmitEdit = async () => { props.record.onSubmitEdit = async () => {
if (isArray(props.record?.submitCbs)) { if (isArray(props.record?.submitCbs)) {
if (!props.record?.onValid?.()) return; if (!props.record?.onValid?.()) return;

Loading…
Cancel
Save