收藏
回答

自定义组件 __dataProxy triggerEvent

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug 自定义组件 工具 iphone6 1.6.7

this.triggerEvent('tabValueChange', {});


报错

回答关注问题邀请回答
收藏

3 个回答

  • 包作辣
    包作辣
    2018-05-29

    你切换到1.9.3以上版本试试

    2018-05-29
    有用
    回复
  • HS
    HS
    2018-05-15

    您是使用了什么特殊的框架吗,建议排查其报错。

    2018-05-15
    有用
    回复 2
    • 马树军
      马树军
      2018-05-15
      没有啊,直接就是小程序原生的啊
      2018-05-15
      回复
    • 马树军
      马树军
      2018-05-15
      原代码如下:就是在button type=“getPhonenumber‘ ,然后使用组件时监听tabChange html <button formType="submit" bindgetphonenumber="getPhonenumber" data-flag="false" open-type="getPhoneNumber" class="buttonFormId opacity-no"></button> 使用组件 <showModal wx:if="{{showModalFlag}}" productionItem="{{productionItem}}" recoderType="{{recoderType}}" cjzbId="{{cjzbId}}" userInfoData="{{userInfoData}}" bindtabValueChange="tabChange"></showModal> js var App = getApp(); var { Data, Util, Storer } = App; Component({ /** * 组件的属性列表 */ behaviors: [], properties: { userInfoData: { type: Object, value: {} }, recoderType: { type: String, value: "" }, cjzbId: { type: String, value: "" }, productionItem: { type: Object, value: {} } }, /** * 组件的初始数据 */ data: { }, created() { }, attached: function() { }, /** * 组件的方法列表 */ methods: { submitFormId(e) { let formId = e.detail.formId; Data.sendFormidData(formId); let phone = e.detail.value.phone; }, getPhonenumber: function(e) { console.log(this.data.userInfoData); this.triggerEvent('tabValueChange', {}); var that = this; let cjzbId = this.data.cjzbId; let name = this.data.userInfoData.real_name || this.data.userInfoData.nick_name if (e.detail.iv) { Data.getTokenPromise().then(res => { let _promise = Data.decryptPhoneNumber({ token: App.globalData.token, iv: e.detail.iv, encrypted_data: e.detail.encryptedData }) .then(res => { // 绑定成功 this.triggerEvent('tabValueChange', {}); wx.hideLoading(); if (res.data.result) { that.setData({ isBindPhone: true }); Storer.IsBindPhone = true; Storer.setData('IsBindPhone'); wx.showModal({ content: '预约成功,' + name + '会尽快联系您~', showCancel: false, success: function(res) {} }); console.log("数据打点类型", this.data.recoderType); this.sendCardTime(this.data.recoderType, this.data.productionItem) return true; } else { console.log('绑定失败', res); return false; } }, err => { console.log(err || '解密失败'); return false; }); }).catch(res => { console.log("分享朋友圈获取token:", res) }) } else { console.log('用户拒绝授权手机号'); wx.showModal({ content: '无法获取手机号码,预约失败', showCancel: false, success: function(res) {} }); } }, //数据打点 sendCardTime: function(action, args) { let cjzbId = this.data.cjzbId; Data.getTokenPromise().then(res => { Data.sendCardTime({ action, args, cjzbId }).then(res => { if (res.data.result) { console.log(res.data.result) } }).catch(res => { console.log("错误信息:", res) }) }).catch(res => { console.log("分享朋友圈获取token:", res) }) }, } })
      2018-05-15
      回复
  • 马树军
    马树军
    2018-05-15

    烦请各位大神解答,谢谢!

    2018-05-15
    有用
    回复
登录 后发表内容