Thanks to visit codestin.com
Credit goes to github.com

Skip to content

小程序学习&Taro开发遇见的问题收集 #22

@Clearives

Description

@Clearives

小程序学习&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 获取用户的当前设置。返回值中只会出现小程序已经向用户请求过的权限。
20191101152227.png

注意: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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions