收藏
回答

小程序开发修改update某条记录的值?

存在多条记录,每条记录一条ID,现在点击“修改”按钮实现修改某条记录的state的值,请问如何实现?

wxml:<view class="a" wx:for="{{list}}" wx:key="list">
    <view class="order"> 
      <view class="address">{{item.address}}</view>
      <view class="line"></view>
      <view class="id">{{item._id}}</view>
      <view class="company">快递点:{{item.expresscompany}}</view>
      <button bindtap="update" data-state='{{item.state}}'>接单</button>
      <!--<image class="state" src="/images/{{state}}.png">{{item.statepng}}</image>-->
      <view>
      <view wx:if="{{item.state == 0}}" style="font-size:1.6em;margin-left:200px;">待接单</view>
      <view wx:else="{{item.state > 0}}" style="font-ize:1.6em;margin-left:200px;">已接单</view>
    </view>
    </view>
  </view>
js:update:function(e){
    let _id = e.currentTarget.dataset._id;
    const db = wx.cloud.database();  
    /*db.collection("order").doc("6057d84c5f61edca00139b5d6e17df03").update({*/
      db.collection("order").doc("_id").update({
      data: {
        state:"1"
      }, successres => {
        wx.showToast({
          title'修改记录成功',
        })
      }, failerr => {
        wx.showToast({
          title'修改失败',
        })
      }
    })
  },
回答关注问题邀请回答
收藏

1 个回答

  • .
    .
    2020-09-17

      <view class="orderdata-id="{{item.id}}bindtap="editItem"> 

      editItem(e){

        let tempArr = this.data.list;

        tempArr.forEach(item=>{

          if(item.id==e.currentTarget.dataset.id){

            item.state = 1

          }

        })

        this.setData({

          list:tempArr

        })

      },


    2020-09-17
    有用
    回复 2
    • 败者为寇
      败者为寇
      发表于小程序端
      2020-09-17
      这样子 可以把值传回云数据库吗
      2020-09-17
      回复
    • .
      .
      2020-09-17回复败者为寇
      我只是本地操作 云数据要怎么操作 你再跟着操作遍就是了。
      2020-09-17
      回复
登录 后发表内容
问题标签