vue同时使用两个class 一个默认,一个触发事件后添加

<ul class="typeList"    >
<li @click="deptClick('all')" class="typeItem">
<span class="active" title="全部">全部</span></li>
<li @click="deptClick(dept.value)" class="typeItem" v-for="(dept,index) in depts">
<span :class="{selected: selectFlg === dept.value,active:activeFlg ===1}" title="$t(dept.alias)">{{dept.alias | ellipsis }}</span></li>
</ul>

主要在于

:class="{selected: selectFlg === dept.value,active:activeFlg ===1}"

当前需要,点击时触发selected样式

data() {
			return {
				activeFlg:1,
				selectFlg:null,
				}

deptClick(value) {
		  this.selectFlg =value
			},

两个样式中有冲突的属性,两个样式的触发顺序如下

   .active {
      display: block;
      height: 40px;
      line-height: 40px;
      text-align: center;
      font-size: 14px;
      font-weight: 400;
      color: #353b47;
      background-color: #f1f4f7;
      overflow: hidden;
      word-wrap: normal;
      white-space: nowrap;
      text-overflow: ellipsis;
      border-radius: 4px;
      cursor: pointer;
      transition: all .2s linear;
  }
  .selected{
  	background:#1890ff;
  	color: #fff;
  }

如果selected在后则先执行selected,反之则执行active的冲突属性
效果:
选中前:在这里插入图片描述
选中后:在这里插入图片描述

好的,我可以为您提供一个基本的VUE2代码示例,展示如何创建一个工厂管理首页。在这个示例,我们将使用Vue CLI来创建项目,并使用Element UI库来构建UI。 首先,需要安装Vue CLI,如果您还没有安装,可以使用以下命令安装: ``` npm install -g @vue/cli ``` 接下来,使用以下命令创建Vue项目: ``` vue create factory-management ``` 在创建项目时,选择默认配置即可。 安装Element UI库: ``` npm i element-ui -S ``` 现在可以开始编写代码了。首先,在`App.vue`组件添加一个`el-container`元素,将页面分为头部、侧边栏和主要内容三个部分。 ```html <template> <div id="app"> <el-container> <!-- 头部 --> <el-header> <h1>工厂管理</h1> </el-header> <!-- 侧边栏 --> <el-aside> <!-- todo --> </el-aside> <!-- 主要内容 --> <el-main> <!-- todo --> </el-main> </el-container> </div> </template> ``` 接下来,我们需要在侧边栏添加导航菜单。使用`el-menu`元素和`el-menu-item`子元素来实现导航菜单。 ```html <template> <div id="app"> <el-container> <!-- 头部 --> <el-header> <h1>工厂管理</h1> </el-header> <!-- 侧边栏 --> <el-aside> <el-menu :default-active="activeMenu" class="el-menu-vertical-demo" @select="handleMenuSelect"> <el-menu-item index="1">首页</el-menu-item> <el-submenu index="2"> <template slot="title">工厂管理</template> <el-menu-item index="2-1">工厂列表</el-menu-item> <el-menu-item index="2-2">添加工厂</el-menu-item> </el-submenu> <el-submenu index="3"> <template slot="title">订单管理</template> <el-menu-item index="3-1">订单列表</el-menu-item> <el-menu-item index="3-2">添加订单</el-menu-item> </el-submenu> </el-menu> </el-aside> <!-- 主要内容 --> <el-main> <!-- todo --> </el-main> </el-container> </div> </template> ``` 在上面的代码,我们添加一个菜单项和两个子菜单项,分别是工厂管理和订单管理。当用户点击菜单项时,会触发`handleMenuSelect`方法。 现在,我们需要在主要内容区域添加一个欢迎信息。在`el-main`元素添加一个`h2`标签即可。 ```html <template> <div id="app"> <el-container> <!-- 头部 --> <el-header> <h1>工厂管理</h1> </el-header> <!-- 侧边栏 --> <el-aside> <el-menu :default-active="activeMenu" class="el-menu-vertical-demo" @select="handleMenuSelect"> <el-menu-item index="1">首页</el-menu-item> <el-submenu index="2"> <template slot="title">工厂管理</template> <el-menu-item index="2-1">工厂列表</el-menu-item> <el-menu-item index="2-2">添加工厂</el-menu-item> </el-submenu> <el-submenu index="3"> <template slot="title">订单管理</template> <el-menu-item index="3-1">订单列表</el-menu-item> <el-menu-item index="3-2">添加订单</el-menu-item> </el-submenu> </el-menu> </el-aside> <!-- 主要内容 --> <el-main> <h2>欢迎使用工厂管理系统!</h2> </el-main> </el-container> </div> </template> ``` 最后,我们需要在`script`标签添加`activeMenu`和`handleMenuSelect`属性。 ```html <script> export default { name: 'App', data() { return { activeMenu: '1' } }, methods: { handleMenuSelect(index, indexPath) { this.activeMenu = index; } } } </script> ``` 现在,我们已经完成了一个简单的工厂管理首页。您可以根据自己的需求对其进行定制和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值