cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mencetuskan kaedah fokus input dalam kaedah dalam Vue.js?

Saya mempunyai input yang menggunakan acara berikut:

<b-nput
            class="input"
            id="link"
            v-model="link"
            placeholder="link"
            @focus="$event.target.select()"
          ></b-input>

Bagaimana saya menggunakan ini di dalam @focus="$event.target.select()" Acara:

Kaedah di atas menyalin nilai. Saya perlu mencetuskan acara fokus pemilihan di atas apabila pengguna mengklik salin Bagaimanakah ini boleh dilakukan dengan betul?

P粉702946921P粉702946921436 hari yang lalu663

membalas semua(2)saya akan balas

  • P粉441076405

    P粉4410764052023-10-30 14:42:46

    Disediakan 参考 untuk input anda:

    <b-input
                class="input"
                id="link"
                v-model="link"
                placeholder="link"
                ref="theInput"
              ></b-input>

    Kemudian di mana-mana dalam skrip komponen:

    this.$refs['theInput'].focus();

    balas
    0
  • P粉555696738

    P粉5556967382023-10-30 09:08:27

    Tambah kaedah saved sebagai pengendali acara fokus:

    @focus="saved"

    Kaedah:

    methods: {
      saved(event){ //the event is passed automatically as parameter
         event.target.select()
      }
    }

    Editor:

    Cuba tambah ref pada elemen input

    <b-input
              ref="input"
                class="input"
                id="link"
                v-model="link"
                placeholder="link"
             
                @focus="$event.target.select()"
              ></b-input>

    Kemudian cetuskan fokus secara terprogram di dalam kaedah:

    methods: {
          async copy(s) {
          await navigator.clipboard.writeText(s) 
          this.$refs.input.focus();
         ...
        }
    }

    balas
    0
  • Batalbalas