是小圆子鸭 2021-07-13 14:51 采纳率: 50%
浏览 24

淘宝 购买商品 选择参数 选中的有样式 怎么实现的 uniapp

<!-- 渲染参数数据 -->
                            <view class="select-view-center">
                                <view class="tab" v-for="(value,item,index) in data" @click="click(index)">
                                    <text>{{item}}</text>
                                    <view class="select-view-center-tabs">
                                        <!-- :class="selectIndex[0]===index&&selectIndex[1]===i?'select-tabs':'select-view-center-tabs-text'" -->
                                        <text class="select-view-center-tabs-text"  @click="dataClick([index,i])" v-for="(v,i) in value">{{v}}</text>
                                    </view>
                                </view>
                            </view>

                data: {
                    "颜色": ["白色", "银色", "黑色"],
                    "尺寸": ["20寸", "24寸", "28寸"],
                },

dataClick(index) {        
    if(this.selectIndex.length===0 || this.selectIndex[0][0]!=index[0]){
        this.selectIndex.push(index)
                }else if(this.selectIndex[0][0]===index[0]){
                    this.selectIndex.splice(0,1)
                    this.selectIndex.push(index)
                }
                console.log(this.selectIndex)
            },

img

是二维数组动态生成的
想实现的效果:颜色和尺寸分别只能选中一个
不知道该怎么实现
点击事件 可以用数组分别存下点击的两个view的下标 [index,i] 但是,class怎么根据下标改啊,还是思路不对,实现不了啊

  • 写回答

1条回答 默认 最新

  • 不安于命 2021-07-13 16:24
    关注

    :class="{'li-focus' : chooseNum==index}",样式上面肯定要动态绑定class,将点击事件的下标赋值给chooseNum,就实现单选了

    评论

报告相同问题?

问题事件

  • 创建了问题 7月13日

悬赏问题

  • ¥15 数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥20 python忆阻器数字识别
  • ¥15 高通uboot 打印ubi init err 22