From 79bee8fc57826fd9e98c68125439d10b8a96344c Mon Sep 17 00:00:00 2001 From: Elio Struyf Date: Wed, 16 Aug 2023 09:49:08 +0200 Subject: [PATCH] #620 - use antd field logic --- .../uniforms-frontmatter/ListAddField.tsx | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/components/uniforms-frontmatter/ListAddField.tsx b/src/components/uniforms-frontmatter/ListAddField.tsx index e5aaf636..4428fa0f 100644 --- a/src/components/uniforms-frontmatter/ListAddField.tsx +++ b/src/components/uniforms-frontmatter/ListAddField.tsx @@ -15,21 +15,17 @@ export type ListAddFieldProps = HTMLFieldProps< function ListAdd({ disabled, initialCount, name, readOnly, value, ...props }: ListAddFieldProps) { const nameParts = joinName(null, name); const parentName = joinName(nameParts.slice(0, -1)); - const parent = { - maxCount: 0, - value: [] as ValueType[], - ...useField( - parentName, - { initialCount }, - { absoluteName: true } - )[0] - }; - const limitNotReached = !disabled && !(parent.maxCount <= parent.value.length); + const parent = useField< + { initialCount?: number; maxCount?: number }, + unknown[] + >(parentName, { initialCount }, { absoluteName: true })[0]; + + const limitNotReached = !disabled && !(parent.maxCount! <= parent.value!.length); function onAction(event: React.KeyboardEvent | React.MouseEvent) { - if (!limitNotReached && !readOnly && (!('key' in event) || event.key === 'Enter')) { - parent.onChange(parent.value.concat([value])); + if (limitNotReached && !readOnly && (!('key' in event) || event.key === 'Enter')) { + parent.onChange(parent.value!.concat([value])); } }