Skip to content

微信小程序 input type=nickname 输入框有值却获取不到

在使用 uniapp 开发微信小程序的时候,因为vue语法的加持,好多写法都变得非常方便。比如:

vue
<input type="nickname" v-model="nickname" />


data() {
	return {
		nickname: '',
	}
},

变量 nickname 与 input 双向绑定,值的获取与设置都非常方便。

当 input type=nickname 的时候,点击输入框,会弹窗使用微信昵称的提示,点击提示,输入框也会正常显示。

但是,变量 nickname 却不能正确获取到值。

其原因,不得而知。大概是 uniapp 没有这对这一情形做适配。

为了修复这个问题,可以给 input 增加一个 blur 事件相应,在 blur 时手动设置一下变量 nickname 的值。如下:

vue
<input type="nickname" @blur="onNicknameBlur" v-model="nickname" />


/**
 * 设置昵称
 */
onNicknameBlur(e) {
	this.nickname = e.detail.value;
},

粤ICP备20009776号