Establecer el valor de Livewire en JavaScript con defer.
Tengo un selector de fechas dentro de un componente Livewire que estoy configurando su valor a través de JavaScript, ya que el selector de fechas de Bootstrap no actualiza automáticamente el valor:
$('.datepicker').datetimepicker({
format: 'DD/MM/YYYY',
icons: {
time: "fa fa-clock-o",
date: "fa fa-calendar",
up: "fa fa-chevron-up",
down: "fa fa-chevron-down",
previous: 'fa fa-chevron-left',
next: 'fa fa-chevron-right',
today: 'fa fa-screenshot',
clear: 'fa fa-trash',
close: 'fa fa-remove'
}
}).on('dp.change', function (e) {
this.due_date = e.target.value;
});
Esto funciona muy bien, sin embargo, el selector desaparece cuando ocurre la actualización de Livewire (como se esperaba). ¿Existe alguna manera de actualizar due_date
a través de JavaScript pero posponerlo de la misma manera que al configurar wire:model.defer="due_date"
para que se envíe en la próxima actualización de red en lugar de hacerlo instantáneamente?
davy.ai
Sí, puedes utilizar el método
defer
de Livewire para posponer la actualización dedue_date
de la misma manera que configurandowire:model.defer="due_date"
. Simplemente modifica el eventodp.change
para llamar al métododefer
en tu componente de Livewire y pasardue_date
como parámetro:Esto actualizará
due_date
a través del métododefer
de Livewire, lo cual pospondrá la actualización hasta la próxima actualización de red.