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


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 相关文章推荐
jQuery入门知识简介
Mar 04 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
Jan 15 Javascript
JS编程小常识很有用
Nov 26 Javascript
javascript实现五星评分功能
Nov 10 Javascript
微信小程序 开发指南详解
Sep 27 Javascript
微信小程序 wxapp内容组件 icon详细介绍
Oct 31 Javascript
Bootstrap的modal拖动效果
Dec 25 Javascript
微信小程序 图片边框解决方法
Jan 16 Javascript
JavaScript 五大常见函数
Mar 23 Javascript
浅谈如何使用webpack构建多页面应用
May 30 Javascript
详解VUE项目中安装和使用vant组件
Apr 28 Javascript
浅谈小程序globalData的那些事儿
Nov 01 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
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
php把数组值转换成键的方法
2015/07/13 PHP
php preg_match的匹配不同国家语言实例
2016/12/29 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
2010/06/28 Javascript
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
onclick与listeners的执行先后问题详细解剖
2013/01/07 Javascript
jQuery 三击事件实现代码
2013/09/11 Javascript
node.js超时timeout详解
2014/11/26 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
Angular中ng-repeat与ul li的多层嵌套重复问题
2017/07/24 Javascript
Vuejs+vue-router打包+Nginx配置的实例
2018/09/20 Javascript
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
[01:07:13]TNC vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python 异常处理实例详解
2014/03/12 Python
Python中SOAP项目的介绍及其在web开发中的应用
2015/04/14 Python
Python smallseg分词用法实例分析
2015/05/28 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
HTML5所有标签汇总及标签意义解释
2015/03/12 HTML / CSS
PHP笔试题
2012/02/22 面试题
关于.NET, HTML的五个问题
2012/08/29 面试题
早餐连锁店计划书
2014/01/08 职场文书
优秀实习生感言
2014/03/01 职场文书
医学生求职自荐书
2014/06/12 职场文书
物业总经理助理岗位职责
2014/06/29 职场文书
公司财务部岗位职责
2015/04/14 职场文书
iPhone13再次曝光
2021/04/15 数码科技
html实现弹窗的实例
2021/06/09 HTML / CSS
Golang的继承模拟实例
2021/06/30 Golang
MySQL创建管理LIST分区
2022/04/13 MySQL
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS