a***@sina.cn
a***@sina.cn
  • 发布:2021-02-19 11:07
  • 更新:2021-03-11 16:06
  • 阅读:1076

【报Bug】安卓微信小程序<input /> 组件失去焦点会触发@input。(微信开发工具和IOS真机正常)

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10 企业版

HBuilderX类型: 正式

HBuilderX版本号: 3.1.2

第三方开发者工具版本号: 1.03

基础库版本号: 2.14.4

项目创建方式: HBuilderX

示例代码:
// 子组件 searchInput.vue  
<template>  
 <input  
      class="search-input__input"  
      :value="value"  
      type="text"  
      :placeholder="placeholder"  
      placeholder-class="search-input__placeholder"  
      @input="onInputEvent"  
      @confirm="onConfirm"  
      @focus="onFocus"  
      :disabled="disabled"  
      :maxlength="maxlength"  
      confirm-type="search"  
    />  
</template>  

<script>  
export default {  
 props: {  
    value: {  
      type: [String],  
      default: ''  
    },  
    disabled: {  
      type: [Boolean, String],  
      default: false  
    },  
    maxlength: {  
      type: [Number],  
      default: 140  
    },  
    placeholder: {  
      type: [String],  
      default: '请输入'  
    }  
  },  
 methods: {  
    onClick() {  
      this.$emit('onClick');  
    },  
    // 获取焦点  
    onFocus() {  
      this.$emit('onFocus');  
    },  
    // 输入赋值  
    onInputEvent(e) {  
      this.$emit('update:value', e.detail.value);  
    },  
    // 清空输入框  
    onClear() {  
      this.$emit('onClear');  
    },  
    // 点击确认  
    onConfirm(e) {  
      this.$emit('onConfirm', e.detail.value);  
    }  
  }  
}  
</script>
// 页面引入子组件  
<template>  
   <search-input  
        :placeholder="placeholder"  
        :value.sync="inputVal"  
        @onConfirm="startSearch"  
        @onClear="onClear"  
      />  
</template>  

<script>  
import SearchInput from '@/wxcomponents/searchInput';  
export default {  
  components: {  
    SearchInput  
  },  
  methods:{  
    onInputEvent(val) {  
      console.log(val, 'onInput');  
      this.inputVal = val;  
    },  
  }  
}  
</script>

操作步骤:

引入包含input的组件,安卓真机调试微信小程序时。先输入随机内容点击搜索后,再次聚焦输入框,此时不输入内容,直接取消聚焦会触发@input事件,并且触发@input事件是触发页面传入组件的input事件,而不是组件内的input事件

预期结果:

输入内容确定,再次聚焦不输入内容直接取消聚焦,不触发@input事件。

实际结果:

安卓真机调试微信小程序时。先输入随机内容点击搜索后,再次聚焦输入框,此时不输入内容,直接取消聚焦会触发@input事件,并且触发@input事件是触发页面传入组件的input事件,而不是组件内的input事件。

bug描述:

系统:安卓真机
平台:微信小程序
bug描述:引入包含input的组件,真机调试时。先输入随机内容点击搜索后,再次聚焦输入框,此时不输入内容,直接取消聚焦会触发@input事件,并且触发@input事件是触发页面传入组件的input事件,而不是组件内的input事件(判断为事件同名原因造成,但这种情况本身是不合理的。)

2021-02-19 11:07 负责人:无 分享
已邀请:
DCloud_UNI_GSQ

DCloud_UNI_GSQ

直接使用微信小程序(不使用 uni-app )测试,问题是否存在,如果仍然存在反馈给微信小程序社区

DCloud_UNI_GSQ

DCloud_UNI_GSQ

参考:https://developers.weixin.qq.com/community/develop/doc/0004e289064c18f3553b3dad15b000

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