Heim  >  Fragen und Antworten  >  Hauptteil

Wie löst man ein Eingabefokusereignis innerhalb einer Methode in Vue.js aus?

Ich habe eine Eingabe, die das folgende Ereignis verwendet:

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

Wie verwende ich das im Inneren @focus="$event.target.select()" Veranstaltung:

Die obige Methode kopiert den Wert. Ich muss das obige Auswahlfokusereignis auslösen, wenn der Benutzer auf „Kopieren“ klickt Wie kann das richtig gemacht werden?

P粉702946921P粉702946921355 Tage vor598

Antworte allen(2)Ich werde antworten

  • P粉441076405

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

    为您的输入提供参考

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

    然后在组件脚本中的任何位置:

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

    Antwort
    0
  • P粉555696738

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

    添加saved方法作为焦点事件处理程序:

    @focus="saved"

    方法:

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

    编辑:

    尝试将 ref 添加到输入元素

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

    然后在方法内以编程方式触发焦点:

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

    Antwort
    0
  • StornierenAntwort