Vue 3 子コンポーネントが focus イベントを 2 回トリガーするのはなぜですか?
P粉005134685
P粉005134685 2024-01-02 09:44:07
0
1
502

Vue 3 の最上位入力フィールドから focus イベントをトリガーすると:

リーリー

...入力フィールドがフォーカスされているときに (予想どおり) イベントが 1 回発生します。

しかし、同じ入力フィールドを子コンポーネントに配置してフォーカスすると:

リーリー

...イベントは 2 回トリガーされます。

https://stackblitz.com/edit/vue-wjhche?devToolsHeight=33&file=src/components/HelloWorld.vueを参照してください

なぜこのようなことが起こっているのか理解させていただけますか?ありがとう!

P粉005134685
P粉005134685

全員に返信(1)
P粉191323236

したがって、子コンポーネントは既にその focus イベントを input にバインドしているため、子コンポーネントや input フィールドに focus イベントを配置しないでください。 input がルート要素であるため、focus イベントは 2 回呼び出されます。

入力 からフォーカス イベントを削除するだけで問題は解決します。

https://stackblitz.com/edit/vue -676vsb?file=src/components/InputField.vue

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート