So, I essentially have a :
const [values, setValues] = createSignal<{a: string, b: string}[] | undefined>([]);
...
return <For each={values()}>{(entry, index) => (
<div>
<TextField
value={entry.a}
onChange={(e) => {
const new = [...values()!];
new[index()] = { ...new[index()], a: e.currentTarget.value };
setValues(new);
}}
/>
<TextField
value={entry.b}
onChange={(e) => {
const new = [...values()!];
new[index()] = { ...new[index()], b: e.currentTarget.value };
setValues(new);
}}
/>
</div>
)}</For>
Unfortunately this means every time the user types a letter, the textfield looses focus, as the whole for-array is rerendered.