[微信小程序]js动态改变数组对象列表中的样式

微信小程序开发交流qq群   173683895

   承接微信小程序开发。扫码加微信。

正文:

这里我用微信小程序商城开发中选择商品规格选择做示例:

先把效果图让大家看看,  默认情况下是这样的

当点击了规格11以后:    该商品规格的颜色变成红色,并且显示该规格商品的图片和价格

当点击了规格22以后: 该商品规格的颜色变成红色,并且显示该规格商品的图片和价格,同时把其它规格的商品规格颜色恢复成了黑色

 

下面来给大家看看示例的代码:

 

    <view class='page_row' style='height:80rpx'>
      <view class='guige'>规格:</view>
      <view class='serven' wx:for="{{guige}}" wx:key="index">
        <text bindtap='arr_guige' class='{{item.is_say_yes?"on":""}}' data-index='{{index}}'>{{item.arr_guige}}</text>
      </view>
    </view>
    <view wx:if="{{arr_remark}}">{{arr_remark}}</view>
    <image wx:if="{{guige_img}}" bind:touchstart="touchstart" bind:touchend="touchend" class='guige_img' src='{{guige_img_src}}'></image>
    <text wx:if="{{arr_price}}">{{arr_price}} 元</text>


js

 

 

  arr_guige:function(e){
    var that = this;
    guige_index = e.currentTarget.dataset.index;
    var guige_img_src = this.data.img + this.data.guige[guige_index].arr_img;
    var arr_price = this.data.guige[guige_index].arr_price;
    for (var i = 0; i < this.data.guige.length; i++) {
      that.setData({
        ['guige[' + i + '].is_say_yes']: false,
      })
      if (i == guige_index) {
        that.setData({
          ['guige[' + i + '].is_say_yes']: true,
        })
       
      }
    }  
    this.setData({
      guige_img:true,
      guige_img_src: guige_img_src,
      arr_price: arr_price
    })
  },


css

 

 

.guige {
  width: 150rpx;
}
.guige_img{
  width: 200rpx;
  height: 200rpx
}
.serven {
  display: flex;
  flex-wrap: wrap;
}

.serven text {
  font-size: 32rpx;
  border: 1px solid #d0d0d0;
  border-radius: 10rpx;
  background: #f2f2f2;
  padding: 0 15rpx 0 15rpx;
  margin: 15rpx;
}
.page_row{
  display: flex;
  flex-direction: row;
  align-items: center;
}

 

 

 

 

 


 

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
好的,以下是一个简单的微信小程序代码片段,实现从数组搜索数据的功能: 1. 在页面的 wxml 文件,添加一个输入框和一个按钮,用于输入搜索关键词和触发搜索: ```html <view class="search"> <input class="search-input" placeholder="请输入搜索关键词" bindinput="onInput" /> <button class="search-btn" bindtap="onSearch">搜索</button> </view> ``` 2. 在页面的 js 文件,定义一个数组并初始化,然后实现 onInput 和 onSearch 两个函数: ```javascript Page({ data: { searchList: ['apple', 'banana', 'orange', 'pear', 'watermelon'], keyword: '' }, onInput: function(event) { this.setData({ keyword: event.detail.value }) }, onSearch: function() { var keyword = this.data.keyword var searchList = this.data.searchList var result = [] for (var i = 0; i < searchList.length; i++) { if (searchList[i].indexOf(keyword) >= 0) { result.push(searchList[i]) } } console.log('搜索结果:', result) } }) ``` 3. 在样式文件添加搜索框样式: ```css .search { display: flex; align-items: center; justify-content: center; margin: 16px 0; } .search-input { flex: 1; height: 32px; border: 1px solid #ccc; border-radius: 16px; padding: 0 16px; margin-right: 8px; } .search-btn { width: 64px; height: 32px; background-color: #007aff; border-radius: 16px; color: #fff; font-size: 14px; line-height: 32px; text-align: center; } ``` 这样,用户在输入框输入关键词后,点击搜索按钮,就会在控制台输出搜索结果了。当然,你也可以将搜索结果显示在页面上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a_靖

对你有帮助吗?打赏鼓励一下?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值