微信小程序开发之改变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/jquery对上传文件格式过滤的方法
Jul 25 Javascript
jQuery EasyUI 中文API Layout(Tabs)
Apr 27 Javascript
在网站上应该用的30个jQuery插件整理
Nov 03 Javascript
JS获取子、父、兄节点方法小结
Aug 14 Javascript
JQuery EasyUI 结合ztrIee的后台页面开发实例
Sep 01 jQuery
JS删除数组里的某个元素方法
Feb 03 Javascript
微信小程序实现星星评价效果
Nov 02 Javascript
Vue.js 中的 v-show 指令及用法详解
Nov 19 Javascript
angular 用Observable实现异步调用的方法
Dec 27 Javascript
详解javascript对数组和json数组的操作
Apr 15 Javascript
微信小程序实现定位及到指定位置导航的示例代码
Aug 20 Javascript
angular异步验证器防抖实例详解
Mar 31 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程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
2014/07/30 PHP
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
setAttribute 与 class冲突解决
2008/02/17 Javascript
getComputedStyle与currentStyle获取样式(style/class)
2013/03/19 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
实例讲解jQuery中对事件的命名空间的运用
2016/05/24 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
基于jQuery实现表格的查看修改删除
2016/08/01 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
Python获取脚本所在目录的正确方法
2014/04/15 Python
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
Python中类型检查的详细介绍
2017/02/13 Python
Python 错误和异常代码详解
2018/01/29 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
django富文本编辑器的实现示例
2019/04/10 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
33个Python爬虫项目实战(推荐)
2019/07/08 Python
python中如何设置代码自动提示
2020/07/15 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
2020/08/27 Python
python selenium xpath定位操作
2020/09/01 Python
Python+MySQL随机试卷及答案生成程序的示例代码
2021/02/01 Python
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
工作室成员个人发展规划范文
2014/01/24 职场文书
服装促销活动方案
2014/02/23 职场文书
监督检查工作方案
2014/05/28 职场文书
公司总经理助理岗位职责
2014/07/09 职场文书
先进个人申报材料
2014/12/30 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书