検索

ホームページ  >  に質問  >  本文

Vue 3 子コンポーネントが focus イベントを 2 回トリガーするのはなぜですか?

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

リーリー

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

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

リーリー

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

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

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

P粉005134685P粉005134685361日前532

全員に返信(1)返信します

  • P粉191323236

    P粉1913232362024-01-03 00:46:18

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

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

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

    返事
    0
  • キャンセル返事