收藏
回答

判断语句怎么使用?

data: {
   or:'false',
   ors:false,
   userInfo: {},
   inputValue:''
 },
 
 //实时写入宿舍号
 bindKeyInput: function (e) {
   this.setData({
     inputValue: e.detail.value
   })
 },
 //表单提交处理
 formSubmit: function (e) {
   console.log('form发生了submit事件,携带数据为:', e.detail.value)   
   var inputValues = this.data.inputValue;
   try {
     wx.setStorageSync('ssh', inputValues)
     //初始化数据库       
     const db = wx.cloud.database()
     //获取记录
     db.collection('dormitory').where({
       hostel: this.data.inputValue
     }).get().then(res => {
       this.setData({
         ors:true
       })
       })
       if(!this.data.ors){
         wx.showToast({
           title: '您输入的宿舍号有误,请重新输入',
           icon: 'none'
         })
       }else{
         wx.redirectTo({
           url: 'detail/details',
         })
       }
   } catch (e) {       }
       
    
 
    
      
    
 },

输入错误的数据时,点击查询,第一次判断进入wx.showToast方法了,但是再点一次就直接进入wx.redirectTo方法跳转了。怎么回事?数据没有改动,appdata中ors的仍然是false。

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

4 个回答

  • 小满
    小满
    2019-10-29

    debugger 是个好东西,建议用起来

    2019-10-29
    有用
    回复
  • 烧饼
    烧饼
    2019-10-29

    代码没看见有语法错误的问题,所以我跟楼上 有脾气的酸奶 想的一样

    2019-10-29
    有用
    回复
  • Stephen
    Stephen
    2019-10-29

    你先这样 然后再这样 最后这样 就行了

    2019-10-29
    有用
    回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-10-29


    自己都已经设置为true了

    2019-10-29
    有用
    回复 2
    • So Far Away
      So Far Away
      2019-10-29
      这个不是读取数据成功后才写成true的吗?,难道读取数据库数据不成功他也执行那一段代码吗?
      2019-10-29
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-10-29回复So Far Away
      你自己也说啦,第一次点击因为异步同步的问题,ors还是为false,所以进wx.showToast,这个时候ors被设置为true,第二次就到else里啦
      2019-10-29
      回复
登录 后发表内容
问题标签