I have a parent view edit.blade.php which has a form. The form has a @livewire() for edit-step.blade.php, the child component.
edit-step.blade.php has a foreach loop that renders the input fields. At one point, foreach will loop three input fields. The submit button is in the parent view edit.blade.php. On submitting, data from the last input field is the only one being submitted. How do I make data from all the input fields be submitted ?
edit.blade.php file:
<form method="post" action="" class="py-5">
@csrf
@method('patch')
<div class="py-1"><input type="text" name="title" value="" class="py-2 px-2 border rounded" placeholder="Title" /></div>
<div class="py-1">
<textarea name="description" class="p-2 rounded border" placeholder="Description"></textarea>
</div>
<div class="py-2">
@livewire('edit-step', ['steps' => $todo->steps])
</div>
<div class="py-1"><input type="submit" value="Update" class="p-2 border rounded" /></div>
</form>
edit-step.blade.php file:
@foreach($steps as $step)
<div class="flex justify-center py-2" wire:key="" >
<input type="text" name="step_" class="py-1 px-2 border rounded" placeholder="Describe Step " @if ( is_object($step) ) value="" @endif />
<span class="fas fa-times text-red-400 p-2" wire:click="remove()"/>
</div>
@endforeach
source https://stackoverflow.com/questions/68942849/submitting-data-in-a-livewire-child-view-using-its-form-in-the-parent-view
Comments
Post a Comment