话不多说,贴代码,具体的可以去贴上去试试,主要其实不在js代码 而是在于style的动态样式绑定

<view class="segBgView">
            <block v-for="(item,index) in segTitleArr" :key="index">
                <view class="segItem" @click="selectTab(index)">
                    <text :style="item.select == true ? 'fontSize:32rpx;color:#333333;margin-bottom:10rpx':'fontSize:26rpx;color:#666666;margin-bottom:10rpx' ">{{item.title}}</text>
                    <view :style="item.select == true ? 'background:#FF5E01;width:16rpx;height:6rpx;border-radius:3rpx' :'background:#ffffff;width:16rpx;height:6rpx;border-radius:3rpx' "></view>
                </view>
            </block>
        </view>

 

.segBgView {
        height: 120rpx;
        background: white;
        display: flex;
        /* top: 210rpx; */
    }

    .segItem {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100%;
        width: 140rpx;
        margin-right: 15rpx;
    }

segTitleArr: [{
                    select: true,
                    title: "资料",
                }, {
                    select: false,
                    title: "相册",
                }, {
                    select: false,
                    title: "视频",
                }, {
                    select: false,
                    title: "动态"
                }],

//table切换
            selectTab(index) {
                for (var i = 0; i < this.segTitleArr.length; i++) {
                    index == i ? this.segTitleArr[i].select = true : this.segTitleArr[i].select = false
                }
                this.segTitleArr = this.segTitleArr
            }

效果贴在下面

Logo

前往低代码交流专区

更多推荐