小程序点击按钮切换列表元素样式

<view class="header-box">
            <view v-for="(item,index) in list" :key="index" @click.stop="isClickFun(item,index)">
                <text v-if="item.isClick" class="showColor">{{item.name}}</text>
                <text v-else class="offColor">{{item.name}}</text>
            </view>
        </view>
list:[
    {
        id:'0',
            name:'本月',
        isClick:true
    },
    {
        id:'1',
        name:'上月',
        isClick:false
    },
    {
        id:'2',
        name:'近一年',
        isClick:false
    }
]    
methods:{
        isClickFun(item,index) {
            if(item.id==index){
                this.list.forEach((value,idx)=>{
                    if(value.isClick){
                        value.isClick = false
                        this.list[idx] = value
                    }
                })
                item.isClick = true
                this.list[index] = item
            }
        }
    }
// 设置圆角盒子
.header-box {
    width: 100%;
    height: 98upx;
    position: absolute;
    top: 286upx;
    border-top-left-radius:16upx;
    border-top-right-radius:16upx;
    background-color: #FFFFFF;
    border-bottom: 2upx solid #E0E2E8;
    display: flex;
    align-items: center;
}
text {
    padding-left: 60upx;
    font-size: 30upx;
}
.offColor {
    color: #C4C4C4;
}
.showColor {
    color: #000000;
}

运行效果:

 

 说明:点击时,可切换文字颜色,随便写的只考虑了程序运行的效果,暂未考虑程序运行的效率所占资源等。

 

 

posted @ 2021-10-23 15:19  温柔本肉  阅读(320)  评论(0编辑  收藏  举报