当前位置:首页 > VUE

vue实现li高亮效果

2026-01-21 12:37:23VUE

Vue实现li高亮效果的方法

方法一:使用动态class绑定 通过v-bind:class或简写:class动态切换高亮样式,结合v-for渲染列表:

<template>
  <ul>
    <li 
      v-for="(item, index) in list" 
      :key="index"
      :class="{ 'highlight': activeIndex === index }"
      @click="activeIndex = index"
    >
      {{ item.text }}
    </li>
  </ul>
</template>

<script>
export default {
  data() {
    return {
      list: [
        { text: 'Item 1' },
        { text: 'Item 2' },
        { text: 'Item 3' }
      ],
      activeIndex: -1
    }
  }
}
</script>

<style>
.highlight {
  background-color: yellow;
  font-weight: bold;
}
</style>

方法二:使用内联样式 通过:style直接绑定样式对象,适合需要动态计算样式的场景:

vue实现li高亮效果

<li 
  v-for="(item, index) in items"
  :key="index"
  :style="{
    backgroundColor: activeId === item.id ? '#ffeb3b' : '',
    color: activeId === item.id ? '#000' : ''
  }"
  @click="activeId = item.id"
>
  {{ item.name }}
</li>

方法三:使用计算属性 当高亮逻辑较复杂时,可通过计算属性返回样式或class:

vue实现li高亮效果

computed: {
  liClasses() {
    return this.items.map(item => ({
      'active-item': this.selectedItem === item.id,
      'disabled': item.disabled
    }))
  }
}

方法四:组件化封装 对于复用场景,可封装为可配置的组件:

<highlight-list 
  :items="dataList" 
  highlight-class="custom-highlight"
  @item-click="handleClick"
/>

注意事项

  • 高亮状态应存储在组件data或Vuex中
  • 移动端建议添加:active伪类提升点击反馈
  • 性能优化:大数据列表使用v-virtual-scroll避免DOM过度渲染

标签: 效果vue
分享给朋友:

相关文章

vue实现星星

vue实现星星

实现星星评分的Vue组件 使用Vue实现星星评分功能可以通过组件化方式完成,以下是一个完整的实现方案: 模板部分 <template> <div class="star-ra…

vue广告实现

vue广告实现

Vue 广告实现方法 在 Vue 项目中实现广告功能可以通过多种方式完成,具体取决于广告类型和需求。以下是几种常见的实现方法: 使用第三方广告平台 许多广告平台如 Google AdSense、百…

vue computed 实现

vue computed 实现

computed 的基本用法 在 Vue 中,computed 用于声明计算属性,这些属性基于响应式依赖进行缓存。只有当依赖发生变化时,计算属性才会重新计算。 new Vue({ data: {…

vue  实现tab

vue 实现tab

实现 Tab 切换功能 在 Vue 中实现 Tab 切换功能可以通过动态组件或条件渲染完成。以下是两种常见方法: 使用 v-if 或 v-show 实现条件渲染 通过绑定 currentTab 变量…

vue 实现流程

vue 实现流程

Vue 实现流程 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。以下是 Vue 实现的基本流程: 安装 Vue.js 通过 CDN 引入或使用 npm/yarn 安装:…

vue 菜单实现

vue 菜单实现

Vue 菜单实现方法 在Vue中实现菜单功能可以通过多种方式完成,以下是几种常见的实现方法: 使用v-for动态生成菜单 通过数据驱动的方式动态渲染菜单项,适合菜单内容可能变化的场景: <t…