lu-lowcode-package-form 0.11.40 → 0.11.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +238 -238
- package/dist/index.es.js +17224 -17203
- package/package.json +1 -1
- package/src/components/field/table/index.jsx +27 -21
package/package.json
CHANGED
@@ -4,6 +4,7 @@ import { CopyOutlined, DeleteOutlined } from "@ant-design/icons";
|
|
4
4
|
import { BaseWrapper } from "../base.jsx"
|
5
5
|
import { nanoid } from "nanoid";
|
6
6
|
import { eventEmitter } from '../../../utils/events'
|
7
|
+
import { useMemoizedFn } from 'ahooks';
|
7
8
|
|
8
9
|
const TableAction = ({ label, subTableIndex, children, subTableHead = false, ...props }) => {
|
9
10
|
//fsticky fright-0
|
@@ -83,7 +84,31 @@ const Table = ({ children, onTableAddRow, disabled, readonly, onTableRemoveRow,
|
|
83
84
|
}
|
84
85
|
return true
|
85
86
|
}
|
87
|
+
const handleCopy = useMemoizedFn((index)=>{
|
88
|
+
let tableValues = form.getFieldValue(fieldName)
|
89
|
+
const copyRow = {...tableValues[index],__id:nanoid()}
|
90
|
+
tableValues.splice(index + 1, 0, copyRow)
|
91
|
+
form?.setFieldValue(fieldName, tableValues)
|
86
92
|
|
93
|
+
let changedFields = {}
|
94
|
+
let tableName = fieldName;
|
95
|
+
for (let i = index + 1; i < tableValues.length; i++) {
|
96
|
+
let value = tableValues[i]
|
97
|
+
for (let key in value) {
|
98
|
+
let changedFieldName = [tableName,i,key]
|
99
|
+
changedFields[changedFieldName] = { name: changedFieldName, value: value[key] }
|
100
|
+
}
|
101
|
+
}
|
102
|
+
typeof recordFieldsChange == "function" && recordFieldsChange(changedFields,true)
|
103
|
+
})
|
104
|
+
|
105
|
+
const handleRemove = useMemoizedFn((index)=>{
|
106
|
+
let tableValues = form.getFieldValue(fieldName)
|
107
|
+
tableValues.splice(index, 1)
|
108
|
+
form?.setFieldValue(fieldName, tableValues)
|
109
|
+
typeof onTableRemoveRow === "function" && onTableRemoveRow(childrenIds);
|
110
|
+
typeof removeLastFieldsValues === "function" && removeLastFieldsValues(`${name},${index}`,true)
|
111
|
+
})
|
87
112
|
if (props.isRequired)
|
88
113
|
rules.push({ required: true, message: `子表[${props.label}]必须填写` });
|
89
114
|
return <Form.List name={name} rules={rules}>
|
@@ -200,31 +225,12 @@ const Table = ({ children, onTableAddRow, disabled, readonly, onTableRemoveRow,
|
|
200
225
|
</TableCol>
|
201
226
|
})}
|
202
227
|
{disabled != true && readonly != true && <TableAction subTableHead={index == 0} key={`row_${index}_action`} subTable={true} subTableIndex={index} label={"操作"}>
|
203
|
-
{isAllowCopy && <CopyOutlined className="fcursor-pointer" onClick={()
|
204
|
-
let tableValues = form.getFieldValue(fieldName)
|
205
|
-
const copyRow = {...tableValues[index],__id:nanoid()}
|
206
|
-
tableValues.splice(index + 1, 0, copyRow)
|
207
|
-
form?.setFieldValue(fieldName, tableValues)
|
208
|
-
|
209
|
-
let changedFields = {}
|
210
|
-
let tableName = fieldName;
|
211
|
-
for (let i = index + 1; i < tableValues.length; i++) {
|
212
|
-
let value = tableValues[i]
|
213
|
-
for (let key in value) {
|
214
|
-
let changedFieldName = [tableName,i,key]
|
215
|
-
changedFields[changedFieldName] = { name: changedFieldName, value: value[key] }
|
216
|
-
}
|
217
|
-
}
|
218
|
-
typeof recordFieldsChange == "function" && recordFieldsChange(changedFields,true)
|
219
|
-
}} />}
|
228
|
+
{isAllowCopy && <CopyOutlined className="fcursor-pointer" onClick={()=>handleCopy(index)} />}
|
220
229
|
<Popconfirm
|
221
230
|
title="删除确认"
|
222
231
|
description="确定要删除这一行吗?"
|
223
232
|
onConfirm={() => {
|
224
|
-
|
225
|
-
typeof onTableRemoveRow === "function" && onTableRemoveRow(childrenIds);
|
226
|
-
console.log("removeLastFieldsValues", typeof removeLastFieldsValues)
|
227
|
-
typeof removeLastFieldsValues === "function" && removeLastFieldsValues(`${name},${index}`,true)
|
233
|
+
handleRemove(index)
|
228
234
|
}}
|
229
235
|
okText="确定"
|
230
236
|
cancelText="取消"
|