微信小程序数组绑定使用案例(一)

微信小程序数组绑定案例,修改数组中的值

1.Wxml 代码

html 复制代码
<view class="list">
  <view class="item {{item.ischeck?'active':''}}" wx:for="{{list}}">
    <view class="title">{{item.name}} <text>({{item.id}})</text></view>
    <view class="btndiv">
      <button>上移动</button>
      <button bind:tap="downClick" data-index="{{index}}">下移动</button>
      <button bind:tap="delClick" data-index="{{index}}">删除</button>
      <checkbox checked="{{item.ischeck}}" bind:tap="checkClick" data-index="{{index}}">选中</checkbox>
    </view>
  </view>
</view>

2.js 代码

javascript 复制代码
Page({

  /**
   * 页面的初始数据
   */
  data: {
    list: [{
        id: 1,
        name: '张三',
        ischeck: true
      },
      {
        id: 2,
        name: '李四'
      },
      {
        id: 3,
        name: '王五'
      },
      {
        id: 4,
        name: '赵六'
      },
    ]
  },
  //选中点击事件
  checkClick(e) {
    var index = e.currentTarget.dataset.index;
    var list = this.data.list;
    // console.info(index);
    //修改页面
    this.setData({
      ['list[' + index + '].ischeck']: !list[index].ischeck
    });
  },
  //删除
  delClick(e) {
    var index = e.currentTarget.dataset.index;
    var list = this.data.list;
    list.splice(index, 1);
    this.setData({
      list: list
    });
  },
  //下移动
  downClick(e) {
    var index = e.currentTarget.dataset.index;
    var list = this.data.list;
    var next = index + 1;
    if (next == list.length) { //临界值
      //next=0;
      return;
    }
    //交换位置
    var temp = list[index];
    list[index] = list[next];
    list[next] = temp;
    this.setData({
      list: list
    });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  }
})

3.css代码忽略

重点解读:可以使用js对象路径方式,修改变量并重新绘制页面

this.setData({

'list\[' + index + '\].ischeck'\]: !list\[index\].ischeck }); 实现效果: ![](https://i-blog.csdnimg.cn/direct/ebeb7b4821544a2996b525451f4c8263.png) 更多: ### [input组件 type为nickname pc端获取不到这个绑定的值?](https://blog.csdn.net/u011127019/article/details/139532032 "input组件 type为nickname pc端获取不到这个绑定的值?") ### [微信小程序触屏事件_上划下划事件](https://blog.csdn.net/u011127019/article/details/136416707 "微信小程序触屏事件_上划下划事件") ### [微信小程序事件绑定](https://blog.csdn.net/u011127019/article/details/136416457 "微信小程序事件绑定")

相关推荐
2501_916008894 小时前
全面介绍Fiddler、Wireshark、HttpWatch、SmartSniff和firebug抓包工具功能与使用
android·ios·小程序·https·uni-app·iphone·webview
webYin4 小时前
解决 Uni-App 运行到微信小程序时 “Socket合法域名校验出错” 问题
微信小程序·小程序·uni-app
说私域15 小时前
日本零售精髓赋能下 链动2+1模式驱动新零售本质回归与发展格局研究
人工智能·小程序·数据挖掘·回归·流量运营·零售·私域运营
程序媛徐师姐15 小时前
Java基于微信小程序的模拟考试系统,附源码+文档说明
java·微信小程序·java模拟考试系统小程序·模拟考试微信小程序·模拟考试系统小程序·模拟考试小程序·java模拟考试小程序
大尚来也15 小时前
微信小程序开发费用全解析:从SaaS到定制的多元选择
微信小程序
如果你好16 小时前
UniApp 路由导航守卫
前端·微信小程序
大尚来也18 小时前
小程序怎么开发自己的小程序
微信小程序
码云数智-园园18 小时前
小程序开发平台有哪些?小程序第三方开发平台评测对比
微信小程序
说私域18 小时前
流量裂变与数字重塑:基于AI智能名片小程序的短视频全域引流范式研究
人工智能·小程序·流量运营·私域运营
蓝帆傲亦1 天前
支付宝小程序性能暴增秘籍:UniApp项目极限优化全攻略
小程序·uni-app