I am in the same situation right now... For me I just tried some trick to reset the value in the trix-editor. Definitely wire:ignore is needed so that the editor won't mess up.
I tried wrapping the content parent <div> with a random id with wire:key.
<div wire:key="{{ $trixId }}">
<div class="form-floating mb-3" wire:ignore>
<input type="hidden" id="{{ $trixId }}" value="{{ $body }}" />
<trix-editor input="{{ $trixId }}" wire:ignore x-on:trix-change="$wire.body=
$event.target.value"></trix-editor>
</div>
</div>
I don't know if this approach is fully right or not.
Basically what it does is upon saving the form and dispatching any event you can reinitialize the trix-editor back to the initial state and even the input has wire:ignore the new $trixId for the new input field therefore making changes to the field and setting the field as blank and the form can be reused for new inputs as well.
I was not using alpine for this so I did it in this way.
Dispatch value from the livewire Class after saving the form:
$this->dispatch('formSaved");
trying to set back the trix-editor:
$wire.on("formSaved", (event) => {
var trixEditor = document.getElementById("{{ $trixId }}")
addEventListener("trix-blur", function(event) {
@this.set('body', trixEditor.getAttribute('value'))
})
})