<view class="createClass-listView">
<view>年级</view>
<input type="text" v-model="classGrader" :focus="gradeFocus" placeholder="输入年级" @confirm="nextFocus('class')" confirm-type="next" />
</view>
<view class="createClass-listView">
<view>班级</view>
<input type="text" ref="class" v-model="className" :focus="classFocus" placeholder="输入班级名称" @confirm="nextFocus('teacher')" confirm-type="next" />
</view>
<view class="createClass-listView">
<view>导师</view>
<input type="text" v-model="teacherName" :focus="teacherFocus" placeholder="输入姓名" @confirm="nextFocus('phone')" confirm-type="next" />
</view>
<view class="createClass-listView">
<view>手机号</view>
<input type="text" v-model="teacherPhone" maxlength="11" :focus="phoneFocus" placeholder="输入手机号" @confirm="nextFocus('studentNum')" confirm-type="next" />
</view>
<view class="createClass-listView">
<view>学生数</view>
<input type="text" v-model="studentNum" maxlength="7" :focus="studentNumFocus" placeholder="请输入学生个数" @confirm="confirm()" confirm-type="done" />
</view>
//nextFocus代码:
nextFocus(inputType){
// uni.hideKeyboard(); //隐藏软键盘
let that = this;
switch(inputType){
case "grade":
this.gradeFocus = false; // 每次都要初始化 focus 属性
setTimeout(() => {
this.$nextTick(function() {
that.gradeFocus=true
});
},50)
break;
case "class":
this.classFocus = false; // 每次都要初始化 focus 属性
setTimeout(() => {
this.$nextTick(function() {
that.classFocus=true
});
},50)
break;
case "teacher":
this.teacherFocus = false; // 每次都要初始化 focus 属性
setTimeout(() => {
this.$nextTick(function() {
that.teacherFocus=true
});
},50)
break;
case "phone":
this.phoneFocus = false; // 每次都要初始化 focus 属性
setTimeout(() => {
this.$nextTick(function() {
that.phoneFocus=true
});
},50)
break;
case "studentNum":
this.studentNumFocus = false; // 每次都要初始化 focus 属性
setTimeout(() => {
this.$nextTick(function() {
that.studentNumFocus=true
});
},50)
break;
}
} - 发布:2021-04-21 14:16
- 更新:2021-04-21 14:16
- 阅读:528
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows10
HBuilderX类型: 正式
HBuilderX版本号: 3.1.9
第三方开发者工具版本号: 1.05.2102010
基础库版本号: 2.15.0
项目创建方式: HBuilderX
示例代码:
操作步骤:
手动点击input框时就会出现该问题,需要点击第二次才能获取到焦点。
使用键盘的下一步控制焦点时就能正常获取焦点。
手动点击input框时就会出现该问题,需要点击第二次才能获取到焦点。
使用键盘的下一步控制焦点时就能正常获取焦点。
预期结果:
手动点击input框能够正常获取到焦点,并弹出键盘。
手动点击input框能够正常获取到焦点,并弹出键盘。
实际结果:
手动点击input框第一次点击无法获取焦点,需要点第二次,然后点击其他input框都会出现这样的问题
手动点击input框第一次点击无法获取焦点,需要点第二次,然后点击其他input框都会出现这样的问题
bug描述:
需要完成的功能:点击键盘右下的下一步按钮切换下一个焦点,到达最后一个input时提交表单,这个功能是实现了也没有任何问题。
问题:但是在我们手动点击input框时就会获取不到焦点,键盘也弹不出来,input框会闪两下,当点击第二次的时候才会获取到焦点,随后我们再手动点击其他input框时又会出现获取不到焦点的问题。
手机说明:ios上没有任何问题,都是可以正常操作,但是Android上都会出现这样的问题,目测我们公司的小米、华为、三星都出现了这个问题。
详细bug请看附件视频,视频里的手机是旧手机,最新版本的android手机也是一样的效果,排除android版本问题。