微信小程序开发之改变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 相关文章推荐
JavaScript基础语法让人疑惑的地方小结
May 23 Javascript
jquery 插件学习(五)
Aug 06 Javascript
js获取url传值的方法
Dec 18 Javascript
百度地图给map添加右键菜单(判断是否为marker)
Mar 04 Javascript
基于javascript实现按圆形排列DIV元素(二)
Dec 02 Javascript
原生js实现选项卡功能
Mar 08 Javascript
微信小程序 弹窗自定义实例代码
Mar 08 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
Apr 11 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
Jul 17 Javascript
Node.js如何使用Diffie-Hellman密钥交换算法详解
Sep 05 Javascript
使用angularjs.foreach时return的问题解决
Sep 30 Javascript
JS中的算法与数据结构之栈(Stack)实例详解
Aug 20 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
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
2016/03/09 PHP
javscript对象原型的一些看法
2010/09/19 Javascript
Javascript面向对象编程(二) 构造函数的继承
2011/08/28 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
jquery动态切换背景图片的简单实现方法
2016/05/14 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
javascript+css3开发打气球小游戏完整代码
2017/11/28 Javascript
jQuery实现点击图标div循环放大缩小功能
2018/09/30 jQuery
React+Antd+Redux实现待办事件的方法
2019/03/14 Javascript
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
js实现图片上传到服务器和回显
2020/01/19 Javascript
详细分析JavaScript中的深浅拷贝
2020/09/17 Javascript
vue 动态添加class,三个以上的条件做判断方式
2020/11/02 Javascript
[01:15:29]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第三局
2016/03/04 DOTA
深入浅出分析Python装饰器用法
2017/07/28 Python
浅谈机器学习需要的了解的十大算法
2017/12/15 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
Python实现自动访问网页的例子
2020/02/21 Python
施华洛世奇澳大利亚官网:SWAROVSKI澳大利亚
2017/01/06 全球购物
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
2013年保送生自荐信格式
2013/11/20 职场文书
2014年采购员工作总结
2014/11/18 职场文书
2014年远程教育工作总结
2014/12/09 职场文书
综合素质评价个性与发展自我评价
2015/03/06 职场文书
银行实习推荐信
2015/03/27 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python