diff --git a/src/components/form-field/form-field.tsx b/src/components/form-field/form-field.tsx index 59cf383b..db776948 100644 --- a/src/components/form-field/form-field.tsx +++ b/src/components/form-field/form-field.tsx @@ -9,9 +9,10 @@ import { v1 as uuid } from 'uuid'; require('./form-field.scss'); export function getNestedField(src: any, path: string): any { - const parts = path.split('.'); + const parts = path.split(/\.|\[|\]/).filter(Boolean); while (parts.length > 0 && src) { - src = src[parts.splice(0, 1)[0]]; + let segment = parts.splice(0, 1)[0] + src = src[isNaN(segment as any) ? segment : Number(segment)]; } return src; }