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


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 相关文章推荐
ASP中进行HTML数据及JS数据编码函数
Nov 11 Javascript
js 变量类型转换常用函数与代码[比较全]
Dec 01 Javascript
javascript sudoku 数独智力游戏生成代码
Mar 27 Javascript
JavaScript打开word文档的实现代码(c#)
Apr 16 Javascript
js综合应用实例简单的表格统计
Sep 03 Javascript
JavaScript实现找出字符串中第一个不重复的字符
Sep 03 Javascript
js生成的验证码的实现与技术分析
Sep 17 Javascript
JavaScript生成.xls文件的代码
Dec 22 Javascript
js 获取json数组里面数组的长度实例
Oct 31 Javascript
深入浅析AngularJs模版与v-bind
Jul 06 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
Jan 17 Javascript
JS sort排序详细使用方法示例解析
Sep 27 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
Linux下进行MYSQL编程时插入中文乱码的解决方案
2007/03/15 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
2011/02/03 PHP
Google Map API更新实现用户自定义标注坐标
2009/07/29 Javascript
Javascript 面向对象 命名空间
2010/05/13 Javascript
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
深入理解jQuery中live与bind方法的区别
2013/12/18 Javascript
可自定义速度的js图片无缝滚动示例分享
2014/01/20 Javascript
node.js中的console.info方法使用说明
2014/12/09 Javascript
node.js中的fs.mkdirSync方法使用说明
2014/12/17 Javascript
AngularJS语法详解
2015/01/23 Javascript
jQuery实现菜单式图片滑动切换
2015/03/14 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
Bootstrap自定义文件上传下载样式
2016/05/26 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
2016/12/27 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
AngularJS创建一个上传照片的指令实例代码
2018/02/24 Javascript
vue.js根据代码运行环境选择baseurl的方法
2018/02/28 Javascript
详解webpack4升级指南以及从webpack3.x迁移
2018/06/12 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
2018/08/02 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
JavaScript实现简单的弹窗效果
2020/05/19 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
python使用urllib2实现发送带cookie的请求
2015/04/28 Python
LRUCache的实现原理及利用python实现的方法
2017/11/21 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
Python自动重新加载模块详解(autoreload module)
2020/04/01 Python
大学军训感言600字
2014/02/25 职场文书
房地产端午节活动方案
2014/08/24 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
个人委托书范文
2015/01/28 职场文书
幼儿园教师求职信
2015/03/20 职场文书
2016年教师新年寄语
2015/08/18 职场文书