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


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 相关文章推荐
自适应高度框架 ----属个人收藏内容
Jan 22 Javascript
javascript日期转换 时间戳转日期格式
Nov 05 Javascript
jQuery之$(document).ready()使用介绍
Apr 05 Javascript
表单元素的submit()方法和onsubmit事件应用概述
Feb 01 Javascript
为jquery的ajaxfileupload增加附加参数的方法
Mar 04 Javascript
推荐4个原生javascript常用的函数
Jan 12 Javascript
第一次接触神奇的Bootstrap菜单和导航
Aug 01 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
Mar 01 Javascript
webpack热模块替换(HMR)/热更新的方法
Apr 05 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
Jul 22 Javascript
微信小程序全局变量功能与用法详解
Jan 22 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
Feb 26 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 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
CakePHP框架Session设置方法分析
2017/02/23 PHP
Symfony查询方法实例小结
2017/06/28 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
laravel 实现划分admin和home 模块分组
2019/10/15 PHP
javascript 流畅动画实现原理
2009/09/08 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
详解Bootstrap glyphicons字体图标
2016/01/04 Javascript
第三章之Bootstrap 表格与按钮功能
2016/04/25 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
JS实现的抛物线运动效果示例
2018/01/30 Javascript
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
2019/05/18 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
JavaScript中this函数使用实例解析
2020/02/21 Javascript
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
[05:34]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY第二弹
2014/06/25 DOTA
python发送伪造的arp请求
2014/01/09 Python
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
Python守护进程用法实例分析
2015/06/04 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
2018/12/16 Python
Django自关联实现多级联动查询实例
2020/05/19 Python
如何在Anaconda中打开python自带idle
2020/09/21 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
运动鞋中的劳斯莱斯:索康尼(SAUCONY)
2017/08/09 全球购物
用C#语言写出与SQLSERVER访问时的具体过程
2013/04/16 面试题
药学专业大学生个人的自我评价
2013/11/04 职场文书
公司司机岗位职责范本
2014/03/03 职场文书
领导班子个人对照检查材料(群众路线)
2014/09/26 职场文书
演讲比赛主持词
2015/06/29 职场文书
导游词之日本富士山
2020/01/06 职场文书
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP
nginx日志格式分析和修改
2022/04/28 Servers