小程序之 实现删除操作之后,页面自动刷新

我原来这样写,一直报错

// 不管写什么函数,都会报错 
// thirdScriptError Cannot read property 'setData' of undefined;
// thirdScriptError Cannot read property 'jiazai' of undefined;

下面是 错误写法

  // 删除
  
  todelete: (event) => {    		 // 原因在这
    var that = this;
    let type = event.currentTarget.dataset.type;
    let id = event.currentTarget.dataset.id;
    wx.request({
      url: 'https://....com/Wxapi/Index/artdelete',
      method: 'get',
      data: ({
        id: id,
        type: type
      }),
      header: {
        'content-type': 'application/json' // 默认值
      },
      success: function (res) {
        // 如何实现删除成功之后刷新
        var da = res.data;
        if (da == 'fK') {
          util.showModal("删除成功");
          that.jiazai();             // 实现页面自动刷新
        }
     
        that.setData({
          contentlistn: res.data // 页面分配数据
        });

  	}
 })
 },

正确写法是

 // 删除
 
 todelete: function (event) {        // 应该改这 的写法 就解决问题了
 
    var that = this;
    let type = event.currentTarget.dataset.type;
    let id = event.currentTarget.dataset.id;
    wx.request({
      url: 'https://....com/Wxapi/Index/artdelete',
      method: 'get',
      data: ({
        id: id,
        type: type
      }),
      header: {
        'content-type': 'application/json' // 默认值
      },
      success: function (res) {
        // 如何实现删除成功之后刷新
        var da = res.data;
        if (da == 'fK') {
          util.showModal("删除成功");
          that.jiazai();             // 实现页面自动刷新
        }
        that.setData({
          contentlistn: res.data // 页面分配数据
        });

      }
    })
  },

调用的 jiazai() 函数,是onload 中实现加载页面初数据的方法

// 页面初加载数据

jiazai: function(){
    var that = this;
    var sessionid = wx.getStorageSync('session_id');
    wx.request({
      url: 'https://....com/Wxapi/Index/tarlist',
      method: 'get',
      data: ({
        sessionid: sessionid,
      }),
      header: {
        'content-type': 'application/json' // 默认值
      },
      success: function (res) {
        // 去掉返回json数据的最后两个属性
        delete res.data.referer
        delete res.data.state
        
        var contentlistn = res.data;
        var display = '';
        if (contentlistn[0] )
        {
          display = true;
        }else{
          display = false;
          delete res.data.message   // 这样前台无数据的时候,显示就对了
          delete res.data.status
        }
        
        that.setData({
          contentlistn: res.data // 页面分配数据
        });
      }
    })
 },
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值