Probably the best way to dynamically add components in your template is the "Dynamic Components" feature native of Laravel:
@foreach ($fields as $field => $param)
<x-dynamic-component
:component="sprintf('larastrap::%s', $param['type'])"
:params="[
'name' => $field,
'label' => $param['label'],
'options' => $param['options'] ?? null
]"
/>
@endforeach
This approach is also mentioned in the Larastrap documentation.