
业务背景
- 表格内得数据为
选中得弹窗内得数据
- 表格内得数据是
格式化后的弹窗数据
- 替换表格式数据时,未替换得数据
状态任然保留
表格数据

弹窗数据

保存按钮得逻辑代码
async function handleSelection(list: any) {
if (!list.length) return (data.value = [])
const listids = list.map((item: any) => item.id)
let result = data.value.filter((item: any) => {
return listids.includes(item.id)
})
data.value = [...result]
const dataids = data.value.map((item: any) => item.id)
let mdata = transformFields(list)
let arr: any[] = []
mdata.forEach((item) => {
const isAdd = dataids.includes(item.id)
if (!isAdd) {
arr.push(item)
}
})
data.value.push(...arr)
}
function transformFields(list: any) {
const result = []
for (const field of list) {
const obj = {
...field,
per: 0.0
}
result.push(obj)
}
return result
}