Wie löst man ein Eingabefokusereignis innerhalb einer Methode in Vue.js aus?
P粉702946921
P粉702946921 2023-10-29 23:56:42
0
2
600

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粉702946921
P粉702946921

Antworte allen(2)
P粉441076405

为您的输入提供参考

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

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

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

添加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();
     ...
    }
}
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!