收藏
回答

setData在分享中,进行一次share:true和share:false变更

问题模块
API和组件

但是 没有中间状态, 不知道是不是 setData 的机制问题,在方法完结之后,进行统一设置,

想问问有没有,哪位已经写过了,怎么写的,

希望 可以提供一下代码, 或者思路,

谢谢

最后一次编辑于  2017-08-22  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

10 个回答

  • Banner
    Banner
    2017-08-22

    异步拿出去,遮罩就好控制了

    2017-08-22
    赞同
    回复
  • 徐
    2017-08-22

    恩恩    我这个才发现  感谢

    2017-08-22
    赞同
    回复
  • Banner
    Banner
    2017-08-22

    我测试调不起来的,onShareAppMessage中间异步还没有执行到success回调就已经执行完了,拿不到return,个人感觉中间异步需要拿出来验证

    2017-08-22
    赞同
    回复
  • 徐
    2017-08-22

    能  不是在success  回调里面么

    2017-08-22
    赞同
    回复
  • Banner
    Banner
    2017-08-22

    异步中能调起吗?wx.request异步还没有完,onShareAppMessage就应该执行完了吧

    2017-08-22
    赞同
    回复
  • 徐
    2017-08-22

    我这个 分享完才 显示 遮罩 ,

    2017-08-22
    赞同
    回复
  • 徐
    2017-08-22

    onShareAppMessage: function (res) {   //分享

        var that = this

        // 查询是否 发布过 


        that.setData({

          share: false        //  false

        })

        wx.request({

          url: app.globalData.requestUrl + 'field/getRelease.do',

          data: {

            design_id: that.data.design_id,

            rd_session: wx.getStorageSync('x-app-sessionid')

          },

          header: {

            'content-type': 'application/json'

          },

          method: 'GET',

          success: function(res) {

              if(res.statusCode ==200){

                  if( res.data.status == 0){

                    wx.showToast({

                      title: '转发前 ,请先发布',

                      duration: 2000

                    })

                    return ;

                  }

                  if (res.data.status == 1) {

                    console.log(res.data.status) 

                    return {

                      title: that.data.showText,

                      imageUrl: that.data.picUrl, 

                      path: '/pages/setups/preview/preview?design_id=' + that.data.design_id,

                      success: function (res) {

                         

                      },

                      fail: function (res) {

                       

                      },

                      complete:function(){

                      

                      }


                    }

                  }

                  if (res.data.status == 2) {

                    wx.showToast({

                      title: '表单已经完结,无法发布。如需要:请修改时间。',

                      duration: 3000

                    })

                  }

              }

          },

          fail: function(res) {


          },

          complete: function(res) {

              that.setData({

               share: true               //  true

          })

          }

        })

       

      },


    2017-08-22
    赞同
    回复
  • Banner
    Banner
    2017-08-22

    直接给遮罩层的hidden 动态设置 true 和 false 就好了


    data: {

        isShow: false

    }


    显示

    bindtapShow: function() {

        this.setData( {

            isShow: true

        } )

    }


    隐藏

    bindtapHide: function() {

        this.setData( {

            isShow: false

        } )

    }


    2017-08-22
    赞同
    回复
  • 徐
    2017-08-22

    恩恩  感谢  我是想在 一个方法中 变更 true 和 false 两种状态  实现分享遮盖,  您提供的方法不太适用。

    2017-08-22
    赞同
    回复
  • Banner
    Banner
    2017-08-22

    类似RN可以这样写,没测试过不知道可不可以用

    var renderData = this.data

    renderData.share = true

    renderData.xxx = xxx

    ....

    this.setData ( {renderData} )


    2017-08-22
    赞同
    回复