- 需求:实现光标的跳转
- 问题1:uniApp不支持自定义指令,因此无法使用v-focus
- 问题2:通过改变focus属性无反应
- 进阶:提取获取焦点的公共方法
结构
<view class="focus">
<view class="item">
<p>first:</p>
<input type="text" :focus="firstFocus" @confirm="firstConfirm"/>
</view>
<view class="item">
<p>second:</p>
<input type="text" :focus="secondFocus" @confirm="secondConfirm"/>
</view>
</view>
data
data() {
return {
firstFocus:true,
secondFocus:false,
}
},
实现
methods:{
firstConfirm(){
this.getFocus('secondFocus')
},
secondConfirm(){
this.getFocus('firstFocus')
},
getFocus(nextfocus){
this[nextfocus] = false
this.$nextTick(()=>{
this[nextfocus] = true
})
},
}
效果