2***@qq.com
2***@qq.com
  • 发布:2021-01-30 10:32
  • 更新:2021-06-15 14:47
  • 阅读:1361

【报Bug】@focus事件中使用uni.hideKeyboard(),对导致其他没有@focus事件的input触发该事件

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 版本 10.0.18363.1256

HBuilderX类型: 正式

HBuilderX版本号: 3.0.7

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: YAL-AL00

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<template>  
    <view class="content">  
        <input type="text" placeholder="A" @focus="testF()" />  
        <input type="text" placeholder="B" />  
    </view>  
</template>  

<script>  
    export default {  
        methods: {  
            /**  
             * A点击  
             */  
            testF() {  
                console.log('获取焦点 ' + new Date())  
                // #ifdef APP-PLUS  
                uni.hideKeyboard()  
                // #endif  
            }  
        }  
    }  
</script>  

<style>  
    .content {  
        display: flex;  
        flex-direction: column;  
        align-items: center;  
        justify-content: center;  
    }  
</style>

操作步骤:

操作步骤一:

  1. 点击A input ,软键盘隐藏
  2. 点击B input ,软键盘隐藏,触发A焦点事件

操作步骤二:

  1. 点击B input ,软件盘正常
  2. 点击空白,焦点消失,软件盘隐藏
  3. 点击A input , 软件盘隐藏
  4. 点击B input , 软件盘隐藏,触发A焦点事件

预期结果:

点击A input,软键盘隐藏
点击B input,软键盘正常显示

实际结果:

点击A input,软键盘隐藏
点击B input,软键盘隐藏

bug描述:

<template>  
    <view class="content">  
        <input type="text" placeholder="A" @focus="testF()" />  
        <input type="text" placeholder="B" />  
    </view>  
</template>  

<script>  
    export default {  
        methods: {  
            /**  
             * A点击  
             */  
            testF() {  
                console.log('获取焦点 ' + new Date())  
                // #ifdef APP-PLUS  
                uni.hideKeyboard()  
                // #endif  
            }  
        }  
    }  
</script>  

<style>  
    .content {  
        display: flex;  
        flex-direction: column;  
        align-items: center;  
        justify-content: center;  
    }  
</style>

预期结果:
点击A input,隐藏软键盘
点击B input,软键盘正常显示

操作步骤一:

  1. 点击A input ,软键盘隐藏
  2. 点击B input ,软键盘隐藏,触发A焦点事件

操作步骤二:

  1. 点击B input ,软件盘正常
  2. 点击空白,焦点消失,软件盘隐藏
  3. 点击A input , 软件盘隐藏
  4. 点击B input , 软件盘隐藏,触发A焦点事件
2021-01-30 10:32 负责人:DCloud_UNI_GSQ 分享
已邀请:
DCloud_UNI_Anne

DCloud_UNI_Anne

问题排查中,已加分,感谢您的反馈!

DCloud_UNI_GSQ

DCloud_UNI_GSQ

HBuilderX 3.1.3 alpha 已修复

  • c***@126.com

    我用的这个版本3.1.8.20210406,还是有这个现象:其它没有用@focus="testF()"的input也隐藏软键盘了

    2021-04-09 11:15

  • DCloud_UNI_GSQ

    回复 c***@126.com: 详细描述一下

    2021-04-12 11:37

2***@qq.com

2***@qq.com (作者)

好的,谢谢

9***@qq.com

9***@qq.com

我的 HBuilderX 3.1.13
/**

  • 隐藏键盘
    */
    // #ifdef APP-PLUS
    uni.hideKeyboard()
    // #endif
    为什么这样写之后安卓打包APK ,在app里面input 输入框还是无法 隐藏键盘??

该问题目前已经被锁定, 无法添加新回复