优化粘贴

This commit is contained in:
lihao 2025-08-14 18:01:44 +08:00
parent 250ed61b05
commit 88372b072f
1 changed files with 17 additions and 4 deletions

View File

@ -130,13 +130,26 @@ function processResultBatchByCard(props, moduleId, rows, indexs) {
let updateArray = []; let updateArray = [];
let allRows = props.editTable.getAllRows(moduleId); let allRows = props.editTable.getAllRows(moduleId);
let i = allRows.length; let i = allRows.length;
// for (let j = 0; j < rows.length; j++) {
// let row = rows[j];
// let obj = {index: indexs[j], data: row};
// if (indexs[j] < i) {
// updateArray.push(obj);
// } else {
// insertArray.push(obj);
// }
// }
// 提取所有现有行的rowid用于快速判断
const existingRowIds = allRows.map(row => row.rowid);
for (let j = 0; j < rows.length; j++) { for (let j = 0; j < rows.length; j++) {
let row = rows[j]; let row = rows[j];
let obj = { index: indexs[j], data: row }; let obj = { index: indexs[j], data: row };
if (indexs[j] < i) { // 判断当前行的rowid是否已存在于allRows中
updateArray.push(obj); if (existingRowIds.includes(row.rowid)) {
updateArray.push(obj); // 存在则更新
} else { } else {
insertArray.push(obj); insertArray.push(obj); // 不存在则插入
} }
} }
if (updateArray.length > 0) { if (updateArray.length > 0) {