微信小程序 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 switch case 另类写法
Mar 14 Javascript
javascript里模拟sleep(两种实现方式)
Jan 25 Javascript
让新消息在网页标题闪烁提示的jQuery代码
Nov 04 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
Feb 27 Javascript
window.location.href的用法(动态输出跳转)
Aug 09 Javascript
JS实现的车标图片提示效果代码
Oct 10 Javascript
jquery组件WebUploader文件上传用法详解
Oct 23 Javascript
jq checkbox 的全选并ajax传参的实例
Apr 01 Javascript
js实现二级菜单点击显示当前内容效果
Apr 28 Javascript
vue props传值失败 输出undefined的解决方法
Sep 11 Javascript
Vue CLI3中使用compass normalize的方法
May 30 Javascript
解决Vue调用springboot接口403跨域问题
Sep 02 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
第七节 类的静态成员 [7]
2006/10/09 PHP
基于mysql的bbs设计(五)
2006/10/09 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
用JS实现3D球状标签云示例代码
2013/12/01 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
jQuery中选择器小问题(新人难免遇到)
2014/03/31 Javascript
jQuery对JSON数据进行排序输出的方法
2015/06/24 Javascript
微信小程序 二维码canvas绘制实例详解
2017/01/06 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
详谈commonjs模块与es6模块的区别
2017/10/18 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
npm 下载指定版本的组件方法
2018/05/17 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
Vue自定义属性实例分析
2019/02/23 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
2020/03/16 Javascript
原生JavaScript实现拖动校验功能
2020/09/29 Javascript
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
Python实现将照片变成卡通图片的方法【基于opencv】
2018/01/17 Python
对python xlrd读取datetime类型数据的方法详解
2018/12/26 Python
Python 项目转化为so文件实例
2019/12/23 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
2020/09/28 Python
python3实现简单飞机大战
2020/11/29 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
python实现计算图形面积
2021/02/22 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
HTML5 canvas基本绘图之文字渲染
2016/06/27 HTML / CSS
俄罗斯电子产品在线商店:UltraTrade
2020/01/30 全球购物
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
工业设计专业自荐书
2014/06/05 职场文书
教师群众路线学习心得体会
2014/11/04 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
2016年大学校运会广播稿件
2015/12/21 职场文书
go语言求任意类型切片的长度操作
2021/04/26 Golang