gpt4 book ai didi

vue.js - 使用 Vuetify 在 textField 中选择文本

转载 作者:行者123 更新时间:2023-12-03 06:47:45 26 4
gpt4 key购买 nike

我正在尝试在 Vuetify 中动态设置文本字段的值,将其聚焦并选择其文本(以便用户能够在必要时快速重置该字段)。我得到的错误是“选择不是函数”。这适用于普通文本输入,但不适用于 Vuetify 文本字段。

<template>
<vContainer>
<vTextField
ref="input"
v-model="input"
/>
<vBtn
@click="test"
>
Select
</vBtn>
</vContainer>
</template>

<script>

export default {
data: () => ({
input: null,
}),

methods: {
test() {
this.input = 'test value';
this.$refs.input.focus();
// this.$refs.input.select(); -> TypeError: this.$refs.input.select is not a function
},
},
};

</script>

最佳答案

问题是 this.$refs.input 不是底层的 HTML 输入元素。要获取输入元素,请执行以下操作...

let inputEl = this.$refs.input.$el.querySelector('input')

此外,设置 this.input 值然后尝试立即 focus()select() 将不起作用。在尝试 select() 之前,您需要使用 nextTick 或 setTimeout 。例如:
  test() {
let inputEl = this.$refs.input.$el.querySelector('input')
this.input = 'test value'
setTimeout(()=>{
inputEl.select()
},200)
},

Demo

关于vue.js - 使用 Vuetify 在 textField 中选择文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62407008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com