收藏
回答

使用that.setData数据一直再添加,怎么删除??

使用that.setData数据一直再添加,怎么删除??

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

4 个回答

  • 卢霄霄
    卢霄霄
    2018-07-06

    我虽然很想帮你,但是真的听不懂你在说什么

    2018-07-06
    赞同 1
    回复 16
    • 石竹璁
      石竹璁
      2018-07-06

      就是用调用that.setData吧数据添加到 data中的list后,我希望能顶替原来的数据,例如我request获取的数据是10行,原来的数据是20行的,我希望只显示现在的10行,原来的20行删除


      2018-07-06
      回复
    • 卢霄霄
      卢霄霄
      2018-07-06回复石竹璁

      最基础的,你要把setData部分的代码截图出来。

      更好的,你能做个代码片段,让人可以直接跑你的代码

      2018-07-06
      回复
    • 石竹璁
      石竹璁
      2018-07-06回复卢霄霄

      // pages/kdInventory/kdInventory.js

      Page({


      /**

        * 页面的初始数据

        */

      data: {

      reqJson: {

      tocken: "",

      itemNumber: ""

      },

      data: []

      },


      /**

        * 生命周期函数--监听页面加载

        */

      onLoad: function (options) {


      },


      /**

        * 生命周期函数--监听页面初次渲染完成

        */

      onReady: function () {

      },


      /**

        * 生命周期函数--监听页面显示

        */

      onShow: function () {

      },


      /**

        * 生命周期函数--监听页面隐藏

        */

      onHide: function () {

      },


      /**

        * 生命周期函数--监听页面卸载

        */

      onUnload: function () {

      },


      /**

        * 页面相关事件处理函数--监听用户下拉动作

        */

      onPullDownRefresh: function () {

      },


      /**

        * 页面上拉触底事件的处理函数

        */

      onReachBottom: function () {

      },


      /**

        * 用户点击右上角分享

        */

      onShareAppMessage: function () {

      },

      submit: function (e) {

      requestData(this, this.data.value)

      }

      })


      function requestData(that, page) {

      wx.showToast({

      title: '数据载入中...',

      icon: 'loading'

      });

      wx.request({

      url: 'https://127.0.0.1:3000',

      method: 'POST',

      data:{

      "token": "",

      "company": "",

      "filter": {

      "itemID": 1987,

      "itemNumber": "aabb",

      "qty": 500

      }

      },

      dataType: 'json',

      header: {

      'content-type': 'application/json'

      },

      success: function (res) {


      if (res.data.status ==="error") {

      wx.showToast({

      title: res.data.message,

      duration: 3000

      })

      that.setData({data: []})

      } else {

      that.setData({data: res.data.data});

      wx.hideToast();

      }

      },

      fail: function (res) {

      wx.showToast({

      title: '数据载入错误!',

      duration: 3000

      })

      }

      })


      }


      2018-07-06
      回复
    • 石竹璁
      石竹璁
      2018-07-06回复卢霄霄

      // pages/kdInventory/kdInventory.js

      Page({


      /**

        * 页面的初始数据

        */

      data: {

      reqJson: {

      tocken: "",

      itemNumber: ""

      },

      data: []

      },


      /**

        * 生命周期函数--监听页面加载

        */

      onLoad: function (options) {


      },


      /**

        * 生命周期函数--监听页面初次渲染完成

        */

      onReady: function () {

      },


      /**

        * 生命周期函数--监听页面显示

        */

      onShow: function () {

      },


      /**

        * 生命周期函数--监听页面隐藏

        */

      onHide: function () {

      },


      /**

        * 生命周期函数--监听页面卸载

        */

      onUnload: function () {

      },


      /**

        * 页面相关事件处理函数--监听用户下拉动作

        */

      onPullDownRefresh: function () {

      },


      /**

        * 页面上拉触底事件的处理函数

        */

      onReachBottom: function () {

      },


      /**

        * 用户点击右上角分享

        */

      onShareAppMessage: function () {

      },

      submit: function (e) {

      requestData(this, this.data.value)

      }

      })


      function requestData(that, page) {

      wx.showToast({

      title: '数据载入中...',

      icon: 'loading'

      });

      wx.request({

      url: 'https://127.0.0.1:3000',

      method: 'POST',

      data:{

      "token": "",

      "company": "",

      "filter": {

      "itemID": 1987,

      "itemNumber": "aabb",

      "qty": 500

      }

      },

      dataType: 'json',

      header: {

      'content-type': 'application/json'

      },

      success: function (res) {


      if (res.data.status ==="error") {

      wx.showToast({

      title: res.data.message,

      duration: 3000

      })

      that.setData({data: []})

      } else {

      that.setData({data: res.data.data});

      wx.hideToast();

      }

      },

      fail: function (res) {

      wx.showToast({

      title: '数据载入错误!',

      duration: 3000

      })

      }

      })


      }



      没获取一次就多一行出来,我希望的是每次只有一行,也就是删除原数据


      2018-07-06
      回复
    • 卢霄霄
      卢霄霄
      2018-07-06回复石竹璁

      你界面上怎么用的 data

      2018-07-06
      回复
    查看更多(11)
  • 石竹璁
    石竹璁
    2018-07-06

    谢谢大家了!!!!!

    2018-07-06
    赞同
    回复
  • 你倒是跳啊
    你倒是跳啊
    2018-07-06

    wechatide://minicode/8GpEeHmY7vGj

    2018-07-06
    赞同
    回复
  • (๑`・ᴗ・´๑)
    (๑`・ᴗ・´๑)
    2018-07-06

    按这个逻辑不可能多出来一行,你还是检查一下自己代码吧,打印一下数据看看

    2018-07-06
    赞同
    回复 5
    • 石竹璁
      石竹璁
      2018-07-06

      不是多出来一行,而是查询一次多一行(我的查询结果是一行),我查询

      3次就3行,五次就五行

      2018-07-06
      回复
    • (๑`・ᴗ・´๑)
      (๑`・ᴗ・´๑)
      2018-07-06回复石竹璁

      你这段代码看不出问题。你要么给点从调用到渲染完整过程的代码或者一个代码片段

      2018-07-06
      回复
    • 你倒是跳啊
      你倒是跳啊
      2018-07-06回复石竹璁

      你这应该是返回数据有问题吧?

      2018-07-06
      回复
    • 石竹璁
      石竹璁
      2018-07-06回复你倒是跳啊

      嗯,我的错   哭...

      2018-07-06
      回复
    • 你倒是跳啊
      你倒是跳啊
      2018-07-06回复石竹璁

      使用模拟数据没有问题,很明显是返回数据的问题

      2018-07-06
      回复