微信小程序多列表渲染数据开关互不影响的实现


Posted in Javascript onJune 05, 2020

最近在学习小程序,正好发现一个问题,微信小程序多列表渲染数据开关怎么互不影响,记录一下,分享给大家

微信小程序多列表渲染数据开关互不影响的实现

<!--pages/list/list.wxml-->
<wxs src="../../utils/filter.wxs" module="filter" />
<view class="list">
 <view wx:for="{{list}}" wx:key="{{index}}" class="ban" data-main='{{index}}'>
 <view class="time">{{filter.replaceStar(index)}}</view>
 <view wx:for="{{item}}" wx:key="*this" class="cen ovf" data-id='{{item.id}}' data-index='{{index}}' >
  <navigator url="../details/details?id={{item.id}}" open-type="navigate" class="ovf item_1">
  <view>
   <view class="name">{{item.ymname}}</view>
   <view class="msg">{{item.ymms}}</view>
  </view>
  </navigator>
  <view class="check ovf">
   <view id="jl" bindtap='cancle' wx:if="{{item.seleced==1}}" data-fid='{{item.fid}}' data-id='{{item.id}}' data-index='{{index}}'>已记录</view>
   <picker mode="date" data-id='{{item.id}}' data-index='{{index}}' data-fid='{{item.fid}}' bindchange="bindDateChange" bindcancel="bindcancel" class="item_2" name="picker" wx:if="{{item.seleced!=1}}">
   <view id="jl" bindchange="checkboxChange" value='{{date}}'>记录</view>
   </picker>
   <view class="zi" wx:if="{{item.seleced==1}}">{{item.time}}</view>
  </view>
 </view>
 </view>
</view>
<view class="fix" bindtap='wait'>
 <text>查看待\n打疫苗</text>
</view>
// pages/list/list.js
const app = getApp()
var time =''
Page({
 data: {
 id:0,
 list: [],
 date:'',
 tr:'',
 s:''
 },
 //事件处理函数
 // bindcancel:function (e) {
 // var that = this
 // console.log(e.target.dataset.id)
 // that.setData({
 // tr: 1,
 // })
 // },
 bindDateChange:function (e) {
 console.log('picker发送选择改变,携带值为', e.detail.value)
 time = e.detail.value
 var that = this
 var arr = that.data.list
 var index = e.target.dataset.index
 var index1 = e.target.dataset.fid
 arr[index1][index].seleced = 1
 arr[index1][index].time = e.detail.value
 that.setData({
 id: e.target.dataset.id,
 date: time,
 list: arr
 })
 },
 cancle:function (e) {
 var that = this
 var arr = that.data.list
 var index = e.target.dataset.index
 var index1 = e.target.dataset.fid
 arr[index1][index].seleced = ''
 that.setData({
 id: e.target.dataset.id,
 list: arr
 })
 },
 wait:function () {
 wx.navigateTo({
 url: '../wait/wait'
 })
 },
 lis: function () {
 wx.navigateTo({
 url: '../archives/archives'
 })
 },
 onLoad: function () {
 var that = this
 wx.request({
 url: 'https://m.renyiwenzhen.com/xcx_ajax.php?action=yimiaolist', //仅为示例,并非真实的接口地址
 method: 'post',
 header: {
 'content-type': 'application/json' // 默认值
 },
 success(res) {
 console.log(res.data)
 that.setData({
  list: res.data
 })
 }
 })
 }
})

总结:

这里使用了双层循环,需要注意的是使用wx:key='*this'循环本身
使用wx:if="{{item.seleced==1}}"标记点击效果,给数据自定义属性

arr[index1][index].seleced = 1

到此这篇关于微信小程序多列表渲染数据开关互不影响的实现的文章就介绍到这了,更多相关小程序多列表渲染互不影响内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript中令你抓狂的魔术变量
Nov 30 Javascript
JavaScript 脚本将当地时间转换成其它时区
Mar 19 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
Nov 23 Javascript
Javascript Object 对象学习笔记
Dec 17 Javascript
js鼠标悬浮出现遮罩层的方法
Jan 28 Javascript
JavaScript的jQuery库中ready方法的学习教程
Aug 14 Javascript
JS仿Base.js实现的继承示例
Apr 07 Javascript
Vue中如何实现轮播图的示例代码
Jul 27 Javascript
使用Vue构建可重用的分页组件
Mar 26 Javascript
animate.css在vue项目中的使用教程
Aug 05 Javascript
开发中常用的25个JavaScript单行代码(小结)
Jun 28 Javascript
Node.js API详解之 module模块用法实例分析
May 13 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
Jun 05 #Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
Jun 05 #Javascript
Node.js API详解之 dgram模块用法实例分析
Jun 05 #Javascript
taro 实现购物车逻辑的实例代码
Jun 05 #Javascript
Node.js API详解之 V8模块用法实例分析
Jun 05 #Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
Jun 05 #Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
Jun 05 #Javascript
You might like
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
2016/03/19 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
php中this关键字用法分析
2016/12/07 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
PHP+Ajax实现的检测用户名功能简单示例
2019/02/12 PHP
php实现映射操作实例详解
2019/10/02 PHP
总结一些js自定义的函数
2006/08/05 Javascript
javascript动画效果类封装代码
2007/08/28 Javascript
JavaScript写的一个DIV 弹出网页对话框
2009/08/14 Javascript
获取HTML DOM节点元素的方法的总结
2009/08/21 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
jQuery实现获取元素索引值index的方法
2016/09/18 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
微信小程序之前台循环数据绑定
2017/08/18 Javascript
谈谈JavaScript中super(props)的重要性
2019/02/12 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
python数组复制拷贝的实现方法
2015/06/09 Python
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
python中根据字符串调用函数的实现方法
2016/06/12 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
Django中的forms组件实例详解
2018/11/08 Python
Python异常处理知识点总结
2019/02/18 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
tensorflow从ckpt和从.pb文件读取变量的值方式
2020/05/26 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
什么是SCM(软件配置管理)
2014/08/16 面试题
料理师求职信
2014/01/30 职场文书
车间机修工岗位职责
2014/02/28 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
教师正风肃纪剖析材料
2014/10/20 职场文书
初中军训感想
2015/08/07 职场文书
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
2021/06/26 MySQL