-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
小程序学习&Taro 开发遇见的问题收集
button 获取用户信息登录
原生小程序使用方法:
<button type="primary" open-type="getUserInfo" bindgetuserinfo="getUserInfo">
获取用户信息
</button>
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">
获取手机号
</button>Taro 使用方法:
<button
id="login-btn"
openType="getUserInfo"
lang="zh_CN"
onGetUserInfo="{this.getUserInfo}"
type="primary"
>
微信用户快速登录
</button>
<button openType="getPhoneNumber" onGetPhoneNumber="{this.getPhoneNumber}">
获取手机号
</button>open-type 改为 openType,bindgetuserinfo 改为 onGetUserInfo,其它类似
checkSession
Taro.checkSession({
success(res) {
console.log("success", res);
},
fail(res) {
console.log("fail", res);
}
})
.then(data => console.log(data))
.catch(() => {
console.log("wx.login");
});getSetting
getSetting 获取用户的当前设置。返回值中只会出现小程序已经向用户请求过的权限。
注意:getPhoneNumber 获取手机号权限不会出现在这里
getUserInfo
在用户未授权过的情况下调用此接口,将不再出现授权弹窗,会直接进入 fail 回调(详见《公告》)。在用户已授权的情况下调用此接口,可成功获取用户信息。授权采用 button
picker-view
当我们使用 picker-view 时会有一个 onChange 事件,也就是我们滚动了,我们能从 e.detail.value 中拿到联动的取值,当我们控制改变时,受控部分需要重制到自己的第一个,我们必须手动去修改值。
// 参考省市联动
cityChange(e) {
const pickerValue = e.detail.value
const { provinces, citys, value } = this.state
const provinceNum = pickerValue[0]
const cityNum = pickerValue[1]
const countyNum = pickerValue[2]
// 如果省份选择项和之前不一样,表示滑动了省份,此时市默认是省的第一组数据,
if (value[0] != provinceNum) {
const id = provinces[provinceNum].id
this.setState({
value: [provinceNum, 0, 0],
citys: address.citys[id],
areas: address.areas[address.citys[id][0].id]
})
} else if (value[1] != cityNum) {
// 滑动选择了第二项数据,即市,此时区显示省市对应的第一组数据
const id = citys[cityNum].id
console.log(id)
this.setState({
value: [provinceNum, cityNum, 0],
areas: address.areas[citys[cityNum].id]
})
} else {
// 滑动选择了区
this.setState({
value: [provinceNum, cityNum, countyNum]
})
}
}参考:picker-view
Metadata
Metadata
Assignees
Labels
No labels
