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


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 相关文章推荐
一端时间轮换的广告
Jun 26 Javascript
JS弹出对话框实现方法(三种方式)
Dec 18 Javascript
详解JS去重及字符串奇数位小写转大写
Dec 29 Javascript
BootStrap 弹出层代码
Feb 09 Javascript
AngularJS的脏检查深入分析
Apr 22 Javascript
vue实现登陆登出的实现示例
Sep 15 Javascript
Vue2.0 实现单选互斥的方法
Apr 13 Javascript
浅谈React 服务器端渲染的使用
May 08 Javascript
Angularjs实现多图片上传预览功能
Jul 18 Javascript
JS实现扫码枪扫描二维码功能
Jan 03 Javascript
原生JavaScript实现的无缝滚动功能详解
Jan 17 Javascript
Vue 根据条件判断van-tab的显示方式
Aug 03 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
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
PHP的PSR规范中文版
2013/09/28 PHP
php实例分享之mysql数据备份
2014/05/19 PHP
php遍历目录方法小结
2015/03/10 PHP
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
javascript 字符串连接的性能问题(多浏览器)
2008/11/18 Javascript
js表数据排序 sort table data
2009/02/18 Javascript
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
easyui datagrid 键盘上下控制选中行示例
2014/03/31 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
2015/12/25 Javascript
JavaScript检查子字符串是否在字符串中的方法
2016/02/03 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
2017/01/03 Javascript
详解node child_process模块学习笔记
2018/01/24 Javascript
koa-router源码学习小结
2018/09/07 Javascript
详解用js代码触发dom事件的实现方案
2020/06/10 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
python unittest实现api自动化测试
2018/04/04 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
Python双链表原理与实现方法详解
2020/02/22 Python
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
柯基袜:Corgi Socks
2017/01/26 全球购物
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
雅诗兰黛加拿大官网:Estee Lauder加拿大
2019/07/31 全球购物
美国校服网上商店:French Toast
2019/10/08 全球购物
运动会四百米广播稿
2014/01/19 职场文书
人力资源经理的岗位职责范本
2014/02/28 职场文书
食品采购员岗位职责
2014/04/14 职场文书
校园安全广播稿范文
2014/09/25 职场文书
高中语文教学反思范文
2016/02/16 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python