@elbsurfer Your input should have a name attribute. When the form is submitted, the name will then be the key in the request data, and the value will be whatever the v-model value is:
<input type="text" name="first_name" v-model="form.person.first_name">
Personally I explicitly set keys in the form object, rather than just passing an object, but I also use TypeScript and types:
type Person = {
id: string;
given_name: string;
family_name: string;
email: string;
};
const props = defineProps<{
person: Person;
}>();
const form = useForm(`EditPerson:${person.id}`, {
given_name: props.person.given_name,
family_name: props.person.family_name,
email: props.person.email,
});