•在data中定义即将渲染的数据,及active

data() {
    return {
      active:,//选中样式
    };
  },
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
data() {
  return {
   wpList: [
    {
     name: '食品饮料'
    },
    {
     name: '鲜花'
    },
    {
     name: '蛋糕'
    },
    {
     name: '水果生鲜'
    },
    {
     name: '服装鞋帽'
    },
    {
     name: '其它'
    }
   ],
   active:''
  }
 }
 ...

•定义高亮的标签类名

.active {
  font-size: 16px;
  color: red;
}
1
2
3
4
5
.active {
  background: #fd7522;
  border: 1px solid #fd7522;
  color: #fff;
 }

•动态渲染按钮的数据,并动态的增加active类名(当active为当前name值时添加),添加点击事件(点击时让active=name)

<div
          class=“aside-name-active”
          @click=slide(itemindex)
          v-for=(itemindexin goodsList
          :key=item.id
          :class={active:active == item.name}
        >
          {{ item.name }}
        </div>
1
2
3
4
5
<el-row class="wp-list">
  <el-button v-for="item in wpList" :key="item.name"
  :class="{active : active == item.name}"
  @click="selected(item.name)">{{item.name}}</el-button>
</el-row>

•在methods中定义点击事件函数

 slide(itemindex) {
      this.active = item.name
    }
1
2
3
selected(name){
  this.active = name;
}

•在data中定义即将渲染的数据,及active

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
data() {
  return {
   wpList: [
    {
     name: '食品饮料'
    },
    {
     name: '鲜花'
    },
    {
     name: '蛋糕'
    },
    {
     name: '水果生鲜'
    },
    {
     name: '服装鞋帽'
    },
    {
     name: '其它'
    }
   ],
   active:''
  }
 }
 ...

•定义高亮的标签类名

1
2
3
4
5
.active {
  background: #fd7522;
  border: 1px solid #fd7522;
  color: #fff;
 }

•动态渲染按钮的数据,并动态的增加active类名(当active为当前name值时添加),添加点击事件(点击时让active=name)

1
2
3
4
5
<el-row class="wp-list">
  <el-button v-for="item in wpList" :key="item.name"
  :class="{active : active == item.name}"
  @click="selected(item.name)">{{item.name}}</el-button>
</el-row>

•在methods中定义点击事件函数

1
2
3
selected(name){
  this.active = name;
}

版权声明:本文为shim原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/shim/p/14166865.html