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


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 相关文章推荐
js onpropertychange输入框 事件获取属性
Mar 26 Javascript
JavaScript 动态生成方法的例子
Jul 22 Javascript
JQuery 动态扩展对象之另类视角
May 25 Javascript
javascript初学者常用技巧
Sep 02 Javascript
jQuery动画效果相关方法实例分析
Dec 31 Javascript
详解获取jq ul第一个li定位的四种解决方案
Nov 23 Javascript
jQuery简单实现遍历单选框的方法
Mar 06 Javascript
jQuery插件zTree实现获取一级节点数据的方法
Mar 08 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
Nov 17 Javascript
bootstrap动态调用select下拉框的实例代码
Aug 09 Javascript
JavaScript使用闭包模仿块级作用域操作示例
Jan 21 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
Jul 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
php微信公众号开发模式详解
2016/11/28 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
Javascript SHA-1:Secure Hash Algorithm
2006/12/20 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
JavaScript中扩展Array contains方法实例
2020/08/23 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
2015/10/09 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
express文件上传中间件Multer详解
2016/10/24 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
ionic2中使用自动生成器的方法
2018/03/04 Javascript
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
[00:56]跨越时空加入战场 全新祈求者身心“失落奇艺侍祭”展示
2019/07/20 DOTA
python dict remove数组删除(del,pop)
2013/03/24 Python
Python中用于计算对数的log()方法
2015/05/15 Python
详解Python发送邮件实例
2016/01/10 Python
Python中flatten( )函数及函数用法详解
2018/11/02 Python
Python实现简易过滤删除数字的方法小结
2019/01/09 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
用CSS3实现瀑布流布局的示例代码
2017/11/10 HTML / CSS
html5指南-4.使用Geolocation实现定位功能
2013/01/07 HTML / CSS
公司授权委托书范文
2014/08/02 职场文书
2015元旦家电促销活动策划方案
2014/12/09 职场文书
助学感谢信范文
2015/01/21 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
2015年小学师德师风建设工作总结
2015/10/23 职场文书