当前位置:首页 > VUE

vue怎么实现table切换

2026-02-21 03:14:55VUE

实现 Vue 中表格切换功能

使用动态组件切换表格

通过 Vue 的 component 动态组件实现表格切换,结合 :is 属性绑定当前显示的表格组件。

<template>
  <div>
    <button @click="currentTable = 'TableA'">显示表格A</button>
    <button @click="currentTable = 'TableB'">显示表格B</button>
    <component :is="currentTable" />
  </div>
</template>

<script>
import TableA from './TableA.vue'
import TableB from './TableB.vue'

export default {
  components: { TableA, TableB },
  data() {
    return {
      currentTable: 'TableA'
    }
  }
}
</script>

使用条件渲染切换表格

利用 v-ifv-else 指令根据条件显示不同的表格组件。

vue怎么实现table切换

<template>
  <div>
    <button @click="showTableA = true">显示表格A</button>
    <button @click="showTableA = false">显示表格B</button>
    <TableA v-if="showTableA" />
    <TableB v-else />
  </div>
</template>

<script>
import TableA from './TableA.vue'
import TableB from './TableB.vue'

export default {
  components: { TableA, TableB },
  data() {
    return {
      showTableA: true
    }
  }
}
</script>

使用路由切换表格

在 Vue Router 中配置不同路由对应不同表格组件,通过导航切换。

vue怎么实现table切换

// router.js
import TableA from './views/TableA.vue'
import TableB from './views/TableB.vue'

const routes = [
  { path: '/table-a', component: TableA },
  { path: '/table-b', component: TableB }
]
<!-- App.vue -->
<template>
  <div>
    <router-link to="/table-a">表格A</router-link>
    <router-link to="/table-b">表格B</router-link>
    <router-view></router-view>
  </div>
</template>

使用同一组件切换数据源

通过改变数据源实现同一表格组件显示不同内容。

<template>
  <div>
    <button @click="loadData('dataA')">加载数据A</button>
    <button @click="loadData('dataB')">加载数据B</button>
    <table>
      <tr v-for="(item, index) in tableData" :key="index">
        <td>{{ item.name }}</td>
        <td>{{ item.value }}</td>
      </tr>
    </table>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tableData: [],
      dataSources: {
        dataA: [{name: 'A1', value: 1}, {name: 'A2', value: 2}],
        dataB: [{name: 'B1', value: 3}, {name: 'B2', value: 4}]
      }
    }
  },
  methods: {
    loadData(source) {
      this.tableData = this.dataSources[source]
    }
  }
}
</script>

使用选项卡组件切换表格

结合 UI 框架如 Element UI 的 Tabs 组件实现优雅的表格切换。

<template>
  <el-tabs v-model="activeTab">
    <el-tab-pane label="表格A" name="tableA">
      <TableA />
    </el-tab-pane>
    <el-tab-pane label="表格B" name="tableB">
      <TableB />
    </el-tab-pane>
  </el-tabs>
</template>

<script>
import TableA from './TableA.vue'
import TableB from './TableB.vue'

export default {
  components: { TableA, TableB },
  data() {
    return {
      activeTab: 'tableA'
    }
  }
}
</script>

标签: vuetable
分享给朋友:

相关文章

computed vue 实现

computed vue 实现

computed 在 Vue 中的基本用法 Vue 的 computed 属性用于声明依赖于其他数据的计算属性。当依赖的数据变化时,计算属性会自动重新计算并缓存结果。 export defaul…

vue实现节流

vue实现节流

vue实现节流的方法 在Vue中实现节流(throttle)功能,通常用于限制高频事件的触发频率,例如滚动、输入或按钮点击。以下是几种常见的实现方式: 使用Lodash的throttle函数 安装…

vue实现123456

vue实现123456

Vue 实现数字 123456 的显示 在 Vue 中显示数字 123456 非常简单,可以通过以下方法实现: 方法一:直接在模板中显示 <template> <div&…

vue搜索实现

vue搜索实现

Vue 搜索功能实现方法 基于计算属性的搜索 在 Vue 中可以通过计算属性实现简单的搜索功能。这种方式适合小型数据集,利用 JavaScript 的 filter 方法进行筛选。 data()…

vue实现验证

vue实现验证

Vue 表单验证实现方法 在Vue中实现表单验证可以通过多种方式完成,以下是常见的几种方法: 使用Vuelidate库 Vuelidate是一个轻量级的Vue表单验证库,安装后可以通过简单的配置实…

vue实现换页

vue实现换页

Vue实现页面切换的方法 在Vue中实现页面切换通常可以通过Vue Router来完成。Vue Router是Vue.js官方的路由管理器,用于构建单页面应用(SPA)。以下是几种常见的实现方式:…