我有一个使用以下事件的输入:
<b-nput class="input" id="link" v-model="link" placeholder="link" @focus="$event.target.select()" ></b-input>
我如何在里面使用这个 @focus="$event.target.select()" 事件:
@focus="$event.target.select()"
上述方法复制该值。当用户单击复制时,我需要触发上述选择焦点事件 如何才能正确实现呢?
为您的输入提供参考:
参考
<b-input class="input" id="link" v-model="link" placeholder="link" ref="theInput" ></b-input>
然后在组件脚本中的任何位置:
this.$refs['theInput'].focus();
添加saved方法作为焦点事件处理程序:
saved
@focus="saved"
方法:
methods: { saved(event){ //the event is passed automatically as parameter event.target.select() } }
编辑:
尝试将 ref 添加到输入元素
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(); ... } }
为您的输入提供
参考
:然后在组件脚本中的任何位置:
添加
saved
方法作为焦点事件处理程序:方法:
编辑:
尝试将
ref
添加到输入元素然后在方法内以编程方式触发焦点: