微信小程序开发之改变data中数组或对象的某一属性值


Posted in Javascript onJuly 05, 2018

前言:在小程序的开发中,我们在view中便利data中数组或对象时,很多情况下需要在js中动态改变数组或者对象中某一香的属性值。

效果图:

微信小程序开发之改变data中数组或对象的某一属性值

我给大家总结了案例如下:

wxml如下:

<scroll-view class='hd-cont' scroll-x="true" style='width: 100%'>
 <view wx:for="{{sDate}}" wx:key="{{index}}" class='date-cont'>
  <view>{{item.week}}</view>
  <view bindtap='select' data-index="{{index}}" class=' curl {{item.selected}}'>{{item.date}}</view>
 </view>
</scroll-view> 

wxss如下:

.hd-cont {
 height: 126rpx;
 white-space: nowrap;
 padding-left: 20rpx;
 color: #fff;
 font-size: 28rpx;
 box-sizing: border-box;
}
.date-cont {
 width: 40rpx;
 margin-right: 70rpx;
 height: 100%;
 display: inline-block;
 padding-top: 10rpx;
 box-sizing: border-box;
 text-align: center;
}
.curl {
 width: 40rpx;
 height: 40rpx;
 border-radius: 50%;
 line-height: 40rpx;
}
.date-cont view:first-child {
 margin-bottom: 20rpx;
}
.focus {
 display: inline-block;
 width: 40rpx;
 height: 40rpx;
  font-family: Monaco;">#fff;
 color: #16cc80;
 border-radius: 50%;
 line-height: 40rpx;
}

wxjs如下:

实现思路:点击某一个日期时,获取当前点击的下表,点击事件bindtap可以获取到所点击的元素的自定义属性,也就是所点击的元素的在data中数组的下标,点击触发,清空所有对象中selected的值,然后将所点击的下标的selected值变为focus就可实现点击某一元素动态改变数组中的某一属性值。

Page({
data: {
 sDate: [
  { "week": "日", "date": "01" ,"selected": "focus" },
  { "week": "一", "date": "02", "selected": " " },
  { "week": "二", "date": "03", "selected": " " },
  { "week": "三", "date": "04", "selected": " " },
  { "week": "四", "date": "05", "selected": " " },
  { "week": "五", "date": "06", "selected": " " },
  { "week": "六", "date": "07", "selected": " " },
  { "week": "日", "date": "08", "selected": " " },
  { "week": "一", "date": "09", "selected": " " },
  { "week": "二", "date": "10", "selected": " " },
  { "week": "三", "date": "11", "selected": " " },
  { "week": "四", "date": "12", "selected": " " },
  { "week": "五", "date": "13", "selected": " " },
  { "week": "六", "date": "14", "selected": " " },
 ]
},
select: function (e) {
 var oIndex = e.currentTarget.dataset.index;
 var array = this.data.sDate;
 array.forEach( (item,index,arr) => {
  var sItem = "sDate["+ index + "].selected";
  this.setData({
   [sItem]: " "
  })
  console.log([sItem]);
  if(index == oIndex) {
   var oSelected = "sDate[" + index + "].selected"//这里需要将设置的属性用字符串进行拼接
   this.setData({
   [oSelected]: "focus"
   })
  }
 })
},
})

 总结

以上所述是小编给大家介绍的微信小程序开发之改变data中数组或对象的某一属性值,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
May 31 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
Dec 31 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
Mar 13 Javascript
Javascript中String的常用方法实例分析
Jun 13 Javascript
js实现左侧网页tab滑动门效果代码
Sep 06 Javascript
bootstrap实现弹窗和拖动效果
Jan 03 Javascript
jsp 网站引入外部css或者js失效问题解决
Oct 31 Javascript
详解vue.js 开发环境搭建最简单攻略
Jun 12 Javascript
基于jquery实现多级菜单效果
Jul 25 jQuery
在iframe中使bootstrap的模态框在父页面弹出问题
Aug 07 Javascript
详解Java中String JSONObject JSONArray List转换
Nov 13 Javascript
JavaScript实现音乐播放器
Aug 14 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
Jul 05 #Javascript
微信小程序实现左右联动的实战记录
Jul 05 #Javascript
vue实现自定义多选与单选的答题功能
Jul 05 #Javascript
JavaScript实现图片懒加载的方法分析
Jul 05 #Javascript
JavaScript实现浅拷贝与深拷贝的方法分析
Jul 05 #Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
Jul 05 #Javascript
vue使用ElementUI时导航栏默认展开功能的实现
Jul 04 #Javascript
You might like
咖啡的种类和口感
2021/03/03 新手入门
php递归函数中使用return的注意事项
2014/01/17 PHP
启用OPCache提高PHP程序性能的方法
2019/03/21 PHP
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
JQuery fileupload插件实现文件上传功能
2016/03/18 Javascript
js实现百度搜索提示框
2017/02/05 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
使用原生JS实现火锅点餐小程序(面向对象思想)
2019/12/10 Javascript
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
python判断字符串是否纯数字的方法
2014/11/19 Python
Python2中的raw_input() 与 input()
2015/06/12 Python
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
Python实现时间序列可视化的方法
2019/08/06 Python
Python加速程序运行的方法
2020/07/29 Python
python 操作excel表格的方法
2020/12/05 Python
利用CSS3的特性改变文本选中时的颜色
2013/09/11 HTML / CSS
单身联谊活动方案
2014/01/29 职场文书
日语专业毕业生自荐书
2014/06/18 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
委托证明模板
2014/09/16 职场文书
英语教师求职信范文
2015/03/20 职场文书
婚姻出轨保证书
2015/05/08 职场文书
校园新闻稿范文
2015/07/18 职场文书
导游词之宁夏贺兰山岩画
2019/11/08 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
Python中使用ipython的详细教程
2021/06/22 Python
python三子棋游戏
2022/05/04 Python
Mybatis 一级缓存和二级缓存原理区别
2022/09/23 Java/Android