微信小程序 wx:for遍历循环使用实例解析


Posted in Javascript onSeptember 09, 2019

这篇文章主要介绍了微信小程序 wx:for遍历循环使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

效果图如下:

微信小程序 wx:for遍历循环使用实例解析

实现代码如下:

type.js:

// pages/type/type.js
Page({

 /**
  * 页面的初始数据
  */
 data: {
  types: ""
 },
 editType: function (e) {
   var typeId = e.currentTarget.dataset['id'];
   console.log("edit:"+typeId);


  wx.navigateTo({
   url: '../type_edit/type_edit?typeId=' + typeId
  })
 },
 delType:function(e){

  var typeId = e.currentTarget.dataset['id'];

  console.log("delete:"+typeId)


  wx.showModal({
   title: '提示',
   content: '确认要删除该支出类型?',
   success: function (res) {
    if (res.confirm) {
     console.log('用户点击确定')

     wx.request({

      url: getApp().globalData.urlPath + "spendingType/delete",
      method: "POST",
      data: {
       typeId: typeId
      },
      header: {
       "Content-Type": "application/x-www-form-urlencoded"
      },
      success: function (res) {
       console.log(res.data.code);
       if (res.statusCode == 200) {

        //访问正常
        if (res.data.code == "000000") {
         wx.showToast({
          title: "删除成功,返回支出类型列表",
          icon: 'success',
          duration: 3000,
          success: function () {

           wx.navigateTo({
            url: '../type/type'
           })
          }
         })

        }
       } else {

        wx.showLoading({
         title: '系统异常',
         fail
        })

        setTimeout(function () {
         wx.hideLoading()
        }, 2000)
       }

      }
     })


    } else if (res.cancel) {
     console.log('用户点击取消')
    }
   }
  })

 },
 /**
  * 生命周期函数--监听页面加载
  */
 onLoad: function (options) {
  wx.setNavigationBarTitle({

   title: "支出类型列表"

  })
  var userCode = wx.getStorageSync('userId');
  var self = this
  wx.request({
   url: getApp().globalData.urlPath + "spendingType/types",//json数据地址 
   data: {
    userCode: userCode
   },
   headers: {
    "Content-Type": "application/x-www-form-urlencoded"
   },
   success: function (res) {
    self.setData({

     types: res.data.data

    });//等同于

   }
  })
 },

 /**
  * 生命周期函数--监听页面初次渲染完成
  */
 onReady: function () {

 },

 /**
  * 生命周期函数--监听页面显示
  */
 onShow: function () {

 },

 /**
  * 生命周期函数--监听页面隐藏
  */
 onHide: function () {

 },

 /**
  * 生命周期函数--监听页面卸载
  */
 onUnload: function () {

 },

 /**
  * 页面相关事件处理函数--监听用户下拉动作
  */
 onPullDownRefresh: function () {

 },

 /**
  * 页面上拉触底事件的处理函数
  */
 onReachBottom: function () {

 },

 /**
  * 用户点击右上角分享
  */
 onShareAppMessage: function () {

 }
})

type.js没什么好说的,如果要说,只能说这个onLoad这里的onLoad就相当于js中的onload方法,当进入该视图时,默认全局加载一次。

type.wxml:

<view>
 <view>
  <navigator url="/pages/type_add/type_add" hover-class="navigator-hover">添加支出类型信息</navigator>
 </view>
 <view>
  <text>\n</text>
 </view>
 <view>
  <view>
   <text>列表数据</text>
   <text>\n</text>
  </view>
<view class="table">
    <view class="tr thead">
     <view class="td">类型名</view>
     <view class="td">创建时间</view>
     <view class="td ">修改时间</view>
     <view class="td">备注</view>
     <view class="td ">操作</view>
    </view>
    <block>
     <view class="tr" wx:for="{{types}}" wx:for-item="item">
      <view class="td">{{item.typeName}}</view>
      <view class="td">{{item.createDate}}</view>
      <view class="td">{{item.modifyDate}}</view>
      <view class="td">{{item.remark}}</view>
      <view class="td">
       <text bindtap='editType' data-id="{{item.typeId}}">编辑</text>
       <text>\n</text>
       <text>\n</text>
       <text bindtap='delType' data-id="{{item.typeId}}">删除</text>
      </view>
     </view>
    </block>
   </view>
 </view>
</view>

遍历循环主要使用的是wx:for。如果要类比的话,我觉得jstl跟这个神似。先来看看jstl,代码如下:

<c:forEach var="u" items="${user}">
    <tr>
        <td>${u.cid}</td>
        <td>${u.cname}</td>
        <td>${u.age }</td>
    </tr>
</c:forEach>

var相当于我可以任意定义一个简要字母来调用item(item相当于type.js中的data或self.setData存储的数据)。

如果你还不明白的话,可以联系到$.each,代码如下:

$.each(classroom_list, function(i, c) {

          rows = rows + "<tr>";
          rows = rows + "<td>" + c.id + "</td>";
          rows = rows + "<td>" + c.nickname + "</td>";
          rows = rows + "<td><a href='student_submit_info.html?userId="+c.id+"'>查看详情</a></td>";
          rows = rows + "</tr>"
});

type.wxss:

.table {
 border: 1px solid #ccc;
 font-size: 28rpx;
 background: #fff;
 border-right: none;
}
 
.tr{
 display: flex;
 justify-content: space-between;
}
 
.td {
 text-align: center;
 border: 1px solid #ccc;
 display: inline-block;
 border-left: none;
 border-bottom: none;
 padding: 10rpx 1%;
 width: 12%;
}
 
.thead .td{
 border-top: none;
 height: 140rpx;
 line-height: 50rpx;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript OOP面向对象介绍
Dec 02 Javascript
JS随机生成不重复数据的实例方法
Jul 17 Javascript
node.js解决获取图片真实文件类型的问题
Dec 20 Javascript
JavaScript实现数组随机排序的方法
Jun 26 Javascript
jQuery实现的Div窗口震动效果实例
Aug 07 Javascript
Bootstrap布局组件应用实例讲解
Feb 17 Javascript
jquery对象访问是什么及使用方法介绍
May 03 Javascript
Angular Module声明和获取重载实例代码
Sep 14 Javascript
微信小程序 toast 详解及实例代码
Nov 09 Javascript
node.js 模块和其下载资源的镜像设置的方法
Sep 06 Javascript
vue中使用codemirror的实例详解
Nov 01 Javascript
JavaScript实现简单轮播图效果
Dec 01 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
Sep 09 #Javascript
微信小程序 checkbox使用实例解析
Sep 09 #Javascript
js之切换全屏和退出全屏实现代码实例
Sep 09 #Javascript
使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法
Sep 09 #Javascript
一次微信小程序内地图的使用实战记录
Sep 09 #Javascript
微信小程序HTTP请求从0到1封装
Sep 09 #Javascript
JS回调函数 callback的理解与使用案例分析
Sep 09 #Javascript
You might like
PHP编程中字符串处理的5个技巧小结
2007/11/13 PHP
PHP中使用BigMap实例
2015/03/30 PHP
两种php实现图片上传的方法
2016/01/22 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
2017/04/18 PHP
php实现在线考试系统【附源码】
2018/09/18 PHP
PHP判断是否微信访问的方法示例
2019/03/27 PHP
jQuery下拉友情链接美化效果代码分享
2015/08/26 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
2018/07/13 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
手写Vue弹窗Modal的实现代码
2019/09/11 Javascript
Python实现类继承实例
2014/07/04 Python
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
Python基于opencv的图像压缩算法实例分析
2018/05/03 Python
django 多数据库配置教程
2018/05/30 Python
python自动化测试之DDT数据驱动的实现代码
2019/07/23 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
协程Python 中实现多任务耗资源最小的方式
2020/10/19 Python
python 如何停止一个死循环的线程
2020/11/24 Python
澳大利亚男士西服品牌:M.J.Bale
2018/02/06 全球购物
编程实现去掉XML的重复结点
2014/05/28 面试题
Java面试笔试题大全
2016/11/23 面试题
学生会离职感言
2014/02/11 职场文书
数学检讨书1000字
2014/02/24 职场文书
大学军训感言600字
2014/02/25 职场文书
项目施工员岗位职责
2014/03/09 职场文书
市场拓展计划书
2014/05/03 职场文书
文言文辞职信
2015/02/28 职场文书
2015年电气技术员工作总结
2015/07/24 职场文书
Python Django搭建文件下载服务器的实现
2021/05/10 Python
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
2021/06/18 MySQL
Go语言安装并操作redis的go-redis库
2022/04/14 Golang