最近做项目遇见这样一个问题,app进入某一个页面后自动弹出软键盘,查找原因后发现是因为input使用了auto-focus自动获取焦点所致。解决办法如下:

第一种:

onLoad(option) {
            
    //解决app进入页面弹出软键盘
    let _self = this
    _self.keyStop()
},
methods: {
    //禁止软件盘自动弹出
    keyStop(){
    var interval = setInterval(function(){
            uni.hideKeyboard();//隐藏软键盘
            console.log('刷新')
        },20);
        setTimeout(() => {
            clearInterval(interval);
            console.log('停止刷新')
        },3000);
    },
}

这一种方法会有闪现情况发生,体验感不是很好。

第二种方法:

<input type="text" class="inp-t" v-model="formData.transcendentalist"  :focus="isFocus" @tap="getFocus" />

data(){
    return{
        isFocus:false 
    }
},
methods{
    getFocus(){
        this.isFocus = true    
    }
}

这一种方法相对要比第一种好很多。

希望上面两种方法可以解决大家的问题。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐