uni-app 微信小程序handleClick 点击按钮的时候,需要把textarea 显示出来并聚焦,但是实际上安卓手机可以,但是苹果手机无法聚焦
<button @click="handleClick"></button>
<textarea v-show="flag1" :focus="flag1"></textarea>
const flag1 = ref(false)
function handleClick(){
flag1.value = true
}
一开始本来到网上找怎么用uniapp获取textarea元素,用ref怎么也获取不了textarea元素,后面发现官方文档写了非H5端只能用于获取自定义组件,不能用于获取内置组件实例(如:view、text)
后面想估计是因为苹果手机的小程序的js代码执行比v-show更快,导致没有执行成功
因此用一个新的响应式变量延迟到下一个时间片执行便可以了
<button @click="handleClick"></button>
<textarea v-show="flag1" :focus="flag2"></textarea>
const flag2 = ref(false)
function handleClick(){
flag1.value = true
nextTick(()=>{
flag2.value = true
})
}