当前位置: 首页 > news >正文

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

前言:在小程序的开发中,我们在view中便利data中数组或对象时,很多情况下需要在js中动态改变数组或者对象中某一香的属性值。
效果图:
我给大家总结了案例如下:
 
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"
            })
        }
    })
},
})
 
这里狗尾草也就给大家总结完了,希望对大家有所帮助,有问题记得及时反馈哦,狗尾草和大家一起进步。

转载于:https://www.cnblogs.com/bgwhite/p/9265849.html

相关文章:

  • 跟鱼八学NDK开发 基于Cmake(三) 使用含有第三方动态库的自己编译好的.so
  • MVC-Model数据注解(三)-Remote验证的一个注意事项
  • Go语言编写的web管理平台生成框架
  • 如何对高管实施股权激励?
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • PhotoShop制作gif动态广告效果示例
  • 怎样轻松将SD卡照片数据恢复
  • [总结型] HADOOP HDFS BALANCER介绍及经验总结
  • 销售财务出身的创业者,占了95%,未来却可能被他打败
  • centos搭建FTP文件服务
  • Odoo 自定义Widgets 基础教程(章节1)
  • 改maven下创建的动态网站依赖的jre版本
  • Linux 服务管理两种方式service和systemctl
  • 渗透测试(theharvester steghide)
  • Gsoap编译
  • [译]前端离线指南(上)
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • canvas绘制圆角头像
  • FastReport在线报表设计器工作原理
  • idea + plantuml 画流程图
  • iOS | NSProxy
  • iOS 系统授权开发
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • Java|序列化异常StreamCorruptedException的解决方法
  • js
  • js学习笔记
  • Linux各目录及每个目录的详细介绍
  • python学习笔记 - ThreadLocal
  • React-redux的原理以及使用
  • Spark RDD学习: aggregate函数
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Vue 动态创建 component
  • Vue.js-Day01
  • vue.js框架原理浅析
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 机器学习学习笔记一
  • 前端设计模式
  • 双管齐下,VMware的容器新战略
  • 网页视频流m3u8/ts视频下载
  • 微信开放平台全网发布【失败】的几点排查方法
  • 移动端解决方案学习记录
  • 仓管云——企业云erp功能有哪些?
  • ​LeetCode解法汇总518. 零钱兑换 II
  • #pragam once 和 #ifndef 预编译头
  • #pragma data_seg 共享数据区(转)
  • #考研#计算机文化知识1(局域网及网络互联)
  • $ git push -u origin master 推送到远程库出错
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (ros//EnvironmentVariables)ros环境变量
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (八)Spring源码解析:Spring MVC
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (接口封装)