微信小程序 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 相关文章推荐
js函数的引用, 关于内存的开销
Sep 17 Javascript
onclick与listeners的执行先后问题详细解剖
Jan 07 Javascript
Javascript 垃圾收集机制介绍理解
May 14 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
Jan 02 Javascript
jquery中JSON的解析方式
Mar 16 Javascript
jQuery实现简洁的轮播图效果实例
Sep 07 Javascript
通过JS获取Request.QueryString()参数的值实现方法
Sep 27 Javascript
js排序与重组的实例讲解
Aug 28 Javascript
js断点调试心得分享(必看篇)
Dec 08 Javascript
Vue页面骨架屏的实现方法
May 22 Javascript
微信小程序 slot踩坑的解决
Apr 01 Javascript
vue elementUI 表单校验功能之数组多层嵌套
Jun 04 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
Yii2中事务的使用实例代码详解
2016/09/07 PHP
php + nginx项目中的权限详解
2017/05/23 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
js 禁用只读文本框获得焦点时的退格键
2010/04/25 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
js Event对象的5种坐标
2011/09/12 Javascript
Js实现动态添加删除Table行示例
2014/04/14 Javascript
javascript常用的方法分享
2015/07/01 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
2016/12/08 Javascript
微信小程序 scroll-view组件实现列表页实例代码
2016/12/14 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
vue--vuex详解
2019/04/15 Javascript
JS/CSS实现字符串单词首字母大写功能
2019/09/03 Javascript
JS实现轮播图效果
2020/01/11 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
JS实现无限轮播无倒退效果
2020/09/21 Javascript
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
如何在Cloud Studio上执行Python代码?
2019/08/09 Python
python在OpenCV里实现投影变换效果
2019/08/30 Python
python实现宿舍管理系统
2019/11/22 Python
pytorch判断是否cuda 判断变量类型方式
2020/06/23 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
大专生工程监理求职信
2013/10/04 职场文书
预备党员思想汇报范文
2013/12/29 职场文书
小学英语课后反思
2014/04/26 职场文书
小学生母亲节演讲稿
2014/05/07 职场文书
教师反腐倡廉演讲稿
2014/09/03 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技