微信小程序 默认第一个选中变色

效果图:


这里默认第一个选中 点击每个不会改变样式 根据index来实现

wxml: 

页面class有三目运算

<view class='box'>
  <view class='box-container' wx:for="{{list}}" wx:key="list">
    <view class="{{index==idx?'_left':'left'}}" bindtap='goIndex' data-index="{{index}}">{{item.num}}</view>
  </view>
</view>

wxss:

_left 蓝色 left 黑色 

.box{
  width: 100%;
  height: auto;
  border-top: 1px solid #efefef;
}

.box-container{
  width:90;
  display: flex;
  height: 100rpx;
  align-items: center;
  border-bottom: 1px solid #efefef;
}

.left{
  margin-left: 40rpx;
  font-size: 26rpx;
}

._left{
  margin-left: 40rpx;
  font-size: 26rpx;
  color: #14a1fd;
}

js: 定义一个idx:0 默认为0 拿到每个index

 /**
   * 页面的初始数据
   */
  data: {
    list:[
      {'num':'我是第一个'},
      { 'num': '我是第二个' },
      { 'num': '我是第三个' },
      { 'num': '我是第四个' },
      { 'num': '我是第五个' },
      {'num':'我是第六个'},
      { 'num': '我是第七个' },
      { 'num': '我是第八个' },
      { 'num': '我是第九个' },
      { 'num': '我是第十个' }    
    ],
    idx : 0
  },
  goIndex (e) {
    let index = e.currentTarget.dataset.index; 
    // console.log('每个index',index)
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
  },

想要实现点击变色的话

如图:


点击第二个 第二个变蓝色 其余变黑色 

点击第三个 第三个变蓝色 其余变黑色... 只需要给idx赋值即可

  goIndex (e) {
    let index = e.currentTarget.dataset.index; 
    // console.log('每个index',index)
    this.setData({
      idx: index
    })
  },


猜你喜欢

转载自blog.csdn.net/onion_line/article/details/81064872