Rumah > Soal Jawab > teks badan
P粉8074716042023-08-26 14:38:51
Saya melakukan beberapa penyahpepijatan di sini dan mendapati bahawa dalam kod pemilih tarikh, kita boleh menggunakan acara "changeDate" untuk menyambungkannya dengan Livewire. Tidak pasti mengapa ini tidak didokumenkan. Ini kodnya:
Pandangan komponen:
<div> <input type="text" wire:model="test" placeholder="测试"> <input name="start" id="startInput" inline-datepicker="" wire:model="start" datepicker-format="dd.mm.yyyy" type="text" placeholder="{{$start}}" value="{{$start}}" datepicker-autohide> <br> <br> 当前属性: <hr> <div> {{$test}} <br> {{$start}} </div> </div>
Komponen:
namespace App\Http\Livewire; use Livewire\Component; class SomeComponent extends Component { public $test; public $start; protected $listeners = ['changeDate' => 'changeDate']; public function changeDate($date) { $this->start = $date; } public function mount() { $this->start = now()->format('d.m.Y'); } public function render() { return view('livewire.some-component'); } }
Dan kod HTML yang mengandungi komponen Livewire, dan kod js yang mendengar acara pemilih tarikh Flowbite dan mencetuskan acara Livewire selepas itu.
<body> <div> <br> <br> @livewire('some-component') </div> <script> document.getElementById("startInput").addEventListener("changeDate", function (e) { Livewire.emit('changeDate', e.detail.datepicker.inputField.value) }); </script> @livewireScripts </body>
Berfungsi seperti yang diharapkan dalam persekitaran saya. Ceria