https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/userProfile.html
<input type="nickname" class="userNickName" bindinput="nicknameIn" placeholder="{{nickname}}" />
当用户选择微信昵称而不是手动输入昵称的话,e.detail得不到信息(用户选择的自己的微信昵称),无法保存。用户再进来,又得重新选择微信昵称。如果用户手动输入,则没有问题。
谢谢!bindinput的问题是,输入过程中会产生很多个e.detail.value,也就是会多次重复调用函数。bindblur只有在失焦后才会调用一次函数。bindinput和bindblur最大的区别是,前者记录过程里的诸多点,后者只记录结果。用户选择微信昵称而不是输入的时候,直接产生了结果,没有输入过程。因此bindinput获取不到值,只有bindblur能获取值。这是只知道bindinput的初学者避免不了的一个坑。