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


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 &amp; DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
Jun 02 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
Apr 22 Javascript
javascript实现页面内关键词高亮显示代码
Apr 03 Javascript
javascript数组常用方法汇总
Sep 10 Javascript
Vue.js路由vue-router使用方法详解
Mar 20 Javascript
JS SetInterval 代码实现页面轮询
Aug 11 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
Nov 01 Javascript
微信小程序中遇到的iOS兼容性问题小结
Nov 14 Javascript
vue实现分页组件
Jun 16 Javascript
在微信小程序中使用vant的方法
Jun 07 Javascript
Openlayers实现测量功能
Sep 25 Javascript
JavaScript 去重和重复次数统计
Mar 31 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
天使彦史上最神还原,性别曝光的那一刻,百万网友恋爱了
2020/03/02 国漫
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
PHP编程中尝试程序并发的几种方式总结
2016/03/21 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
利用PHP实现开心消消乐的算法示例
2017/10/12 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
2018/08/19 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
异步加载script的代码
2011/01/12 Javascript
关于JavaScript的面向对象和继承有利新手学习
2013/01/11 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
Javascript设计模式之装饰者模式详解篇
2017/01/17 Javascript
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
详解JavaScript中的强制类型转换
2019/04/15 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
使用Python操作MySQL的一些基本方法
2015/08/16 Python
Python操作Excel之xlsx文件
2017/03/24 Python
python简易远程控制单线程版
2018/06/20 Python
python logging模块书写日志以及日志分割详解
2019/07/22 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
python中怎么表示空值
2020/06/19 Python
常用的HTML5列表标签
2017/06/20 HTML / CSS
canvas实现高阶贝塞尔曲线(N阶贝塞尔曲线生成器)
2018/01/10 HTML / CSS
美国家喻户晓的保健品品牌:Vitamin World(维他命世界)
2016/08/19 全球购物
Probikekit日本:自行车套件,跑步和铁人三项装备
2017/04/03 全球购物
财务部出纳岗位职责
2013/12/22 职场文书
创业大赛策划书
2014/03/01 职场文书
路政管理求职信
2014/06/18 职场文书
教师个人考察材料
2014/12/16 职场文书
Python 中random 库的详细使用
2021/06/03 Python
java.util.NoSuchElementException原因及两种解决方法
2022/06/28 Java/Android