【issues/1165】解决canResize为true时第一行校验不过 ---
							parent
							
								
									d418e7d3e5
								
							
						
					
					
						commit
						d183fc5274
					
				|  | @ -336,7 +336,20 @@ | |||
|       function initCbs(cbs: 'submitCbs' | 'validCbs' | 'cancelCbs', handle: Fn) { | ||||
|         if (props.record) { | ||||
|           /* eslint-disable  */ | ||||
|           isArray(props.record[cbs]) ? props.record[cbs]?.push(handle) : (props.record[cbs] = [handle]); | ||||
|           // update-begin--author:liaozhiyang---date:20240424---for:【issues/1165】解决canResize为true时第一行校验不过 | ||||
|           const { dataIndex, key } = props.column; | ||||
|           const field: any = dataIndex || key; | ||||
|           if (isArray(props.record[cbs])) { | ||||
|             const findItem = props.record[cbs]?.find((item) => item[field]); | ||||
|             if (findItem) { | ||||
|               findItem[field] = handle; | ||||
|             } else { | ||||
|               props.record[cbs]?.push({ [field]: handle }); | ||||
|             } | ||||
|           } else { | ||||
|             props.record[cbs] = [{ [field]: handle }]; | ||||
|           } | ||||
|           // update-end--author:liaozhiyang---date:20240424---for:【issues/1165】解决canResize为true时第一行校验不过 | ||||
|         } | ||||
|       } | ||||
| 
 | ||||
|  | @ -351,14 +364,25 @@ | |||
|         } | ||||
|         /* eslint-disable  */ | ||||
|         props.record.onCancelEdit = () => { | ||||
|           isArray(props.record?.cancelCbs) && props.record?.cancelCbs.forEach((fn) => fn()); | ||||
|           // update-begin--author:liaozhiyang---date:20240424---for:【issues/1165】解决canResize为true时第一行校验不过 | ||||
|           isArray(props.record?.cancelCbs) && | ||||
|             props.record?.cancelCbs.forEach((item) => { | ||||
|               const [fn] = Object.values(item); | ||||
|               fn(); | ||||
|             }); | ||||
|            // update-end--author:liaozhiyang---date:20240424---for:【issues/1165】解决canResize为true时第一行校验不过 | ||||
|         }; | ||||
|         /* eslint-disable */ | ||||
|         props.record.onSubmitEdit = async () => { | ||||
|           if (isArray(props.record?.submitCbs)) { | ||||
|             if (!props.record?.onValid?.()) return; | ||||
|             const submitFns = props.record?.submitCbs || []; | ||||
|             submitFns.forEach((fn) => fn(false, false)); | ||||
|             // update-begin--author:liaozhiyang---date:20240424---for:【issues/1165】解决canResize为true时第一行校验不过 | ||||
|             submitFns.forEach((item) => { | ||||
|               const [fn] = Object.values(item); | ||||
|               fn(false, false); | ||||
|             }); | ||||
|             // update-end--author:liaozhiyang---date:20240424---for:【issues/1165】解决canResize为true时第一行校验不过 | ||||
|             table.emit?.('edit-row-end'); | ||||
|             return true; | ||||
|           } | ||||
|  |  | |||
|  | @ -15,7 +15,13 @@ export function renderEditCell(column: BasicColumn) { | |||
|   return ({ text: value, record, index }: Params) => { | ||||
|     toRaw(record).onValid = async () => { | ||||
|       if (isArray(record?.validCbs)) { | ||||
|         const validFns = (record?.validCbs || []).map((fn) => fn()); | ||||
|         // update-begin--author:liaozhiyang---date:20240424---for:【issues/1165】解决canResize为true时第一行校验不过
 | ||||
|         const validFns = (record?.validCbs || []).map((item) => { | ||||
|           const [fn] = Object.values(item); | ||||
|           // @ts-ignore
 | ||||
|           return fn(); | ||||
|         }); | ||||
|         // update-end--author:liaozhiyang---date:20240424---for:【issues/1165】解决canResize为true时第一行校验不过
 | ||||
|         const res = await Promise.all(validFns); | ||||
|         return res.every((item) => !!item); | ||||
|       } else { | ||||
|  | @ -53,6 +59,10 @@ export function renderEditCell(column: BasicColumn) { | |||
|   }; | ||||
| } | ||||
| 
 | ||||
| interface Cbs { | ||||
|   [key: string]: Fn; | ||||
| } | ||||
| 
 | ||||
| export type EditRecordRow<T = Recordable> = Partial< | ||||
|   { | ||||
|     onEdit: (editable: boolean, submit?: boolean) => Promise<boolean>; | ||||
|  | @ -60,9 +70,9 @@ export type EditRecordRow<T = Recordable> = Partial< | |||
|     editable: boolean; | ||||
|     onCancel: Fn; | ||||
|     onSubmit: Fn; | ||||
|     submitCbs: Fn[]; | ||||
|     cancelCbs: Fn[]; | ||||
|     validCbs: Fn[]; | ||||
|     submitCbs: Cbs[]; | ||||
|     cancelCbs: Cbs[]; | ||||
|     validCbs: Cbs[]; | ||||
|     editValueRefs: Recordable<Ref>; | ||||
|   } & T | ||||
| >; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 JEECG
						JEECG