「Livewire アップデートで日付ピッカーがリセットされました」
P粉696146205
2023-08-25 21:12:55
<p>テキスト フィールドと日付ピッカーを含む非常に単純な Livewire コンポーネントがあります。</p>
<pre class="brush:html;toolbar:false;"><!-- test.blade.php -->
<div>
<input type="text"wire:model="test"placeholder="test">
<input datepicker="" Wire:model="start" datepicker-format="dd.mm.yyyy" type="text" placeholder="Date ...">
</div>
</pre>
<pre class="brush:php;toolbar:false;">/* Test.php */
クラステストはコンポーネントを拡張します
{
パブリック $test;
パブリック $start;
パブリック関数 mount()
{
$this->start = now()->format('d.m.Y');
}
パブリック関数 render()
{
return view('livewire.test');
}
}
</pre>
<p>私が使用している日付ピッカーは Flowbite Datepicker です。 </p>
<p>日付を変更してからテスト入力フィールドを変更すると、日付ピッカーが今日の日付にリセットされます。 </p>
<p>start の値を維持するにはどうすればよいですか? </p>
<p><strong>私はすでに何を試しましたか? </strong>
日付ピッカーで Wire:ignore を使用してみましたが、役に立ちませんでした。 </p>
ここでいくつかのデバッグを行ったところ、日付ピッカーのコードで「changeDate」イベントを使用して Livewire に接続できることがわかりました。なぜこれが文書化されていないのかは不明です。 コードは次のとおりです:
コンポーネントビュー:
リーリーコンポーネント:
リーリーLivewire コンポーネントを含む HTML コードと、Flowbite 日付ピッカー イベントをリッスンし、その後 Livewire イベントをトリガーする js コードです。
リーリー私の環境では期待どおりに動作します。 乾杯###