|
|
|
@ -155,12 +155,16 @@ export function useDataSource( |
|
|
|
): Recordable | undefined { |
|
|
|
if (!dataSourceRef.value || dataSourceRef.value.length == 0) return; |
|
|
|
const rowKeyName = unref(getRowKey); |
|
|
|
if (typeof rowKeyName !== 'string') { |
|
|
|
if (!rowKeyName) { |
|
|
|
return; |
|
|
|
} |
|
|
|
const row = dataSourceRef.value.find( |
|
|
|
(r) => Reflect.has(r, rowKeyName as string) && r[rowKeyName as string] === rowKey |
|
|
|
); |
|
|
|
const row = dataSourceRef.value.find((r) => { |
|
|
|
if (typeof rowKeyName === 'function') { |
|
|
|
return (rowKeyName(r) as string) === rowKey; |
|
|
|
} else { |
|
|
|
return Reflect.has(r, rowKeyName) && r[rowKeyName] === rowKey; |
|
|
|
} |
|
|
|
}); |
|
|
|
if (row) { |
|
|
|
for (const field in row) { |
|
|
|
if (Reflect.has(record, field)) row[field] = record[field]; |
|
|
|
|