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


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 相关文章推荐
javascript工厂方式定义对象
Dec 26 Javascript
如何用angularjs制作一个完整的表格
Jan 21 Javascript
jquery自适应布局的简单实例
May 28 Javascript
JS 面向对象之继承---多种组合继承详解
Jul 10 Javascript
微信小程序 wxapp内容组件 progress详细介绍
Oct 31 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
Dec 21 Javascript
高效的jQuery代码编写技巧总结
Feb 22 Javascript
jQuery手风琴的简单制作
May 12 jQuery
浅谈ajax在jquery中的请求和servlet中的响应
Jan 22 jQuery
vue cli 全面解析
Feb 28 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
Nov 27 Javascript
JavaScript 与 TypeScript之间的联系
Nov 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提取字符串中的图片地址[正则表达式]
2011/11/12 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
CodeIgniter配置之config.php用法实例分析
2016/01/19 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
JS Timing
2007/04/21 Javascript
JavaScript 继承详解(二)
2009/07/13 Javascript
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
2012/03/01 Javascript
微信JS接口汇总及使用详解
2015/01/09 Javascript
jquery 插件实现瀑布流图片展示实例
2015/04/03 Javascript
深入理解JavaScript中的对象
2015/06/04 Javascript
JavaScript中的this到底是什么(一)
2015/12/09 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
jquery输入数字随机抽奖特效的简单实现代码
2016/06/10 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
Vuex之理解Getters的用法实例
2017/04/19 Javascript
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
关于TypeScript模块导入的那些事
2018/06/12 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
微信小程序实现横向滚动导航栏效果
2019/12/12 Javascript
小程序实现可拖动的悬浮按钮
2020/09/07 Javascript
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
Python实现的检测web服务器健康状况的小程序
2014/09/17 Python
使用Python进行二进制文件读写的简单方法(推荐)
2016/09/12 Python
Python根据成绩分析系统浅析
2019/02/11 Python
Python利用requests模块下载图片实例代码
2019/08/12 Python
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
Python更换pip源方法过程解析
2020/05/19 Python
2014教师年度工作总结
2014/11/10 职场文书
大学生学期个人总结
2015/02/12 职场文书
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js
Golang入门之计时器
2022/05/04 Golang