vue 在el-tabs动态添加添加table

复制代码
代码是半成品

<el-tabs v-model="activeTab" v-loading="fieldMappingLoading" 
@tab-click="handleTabClick">
  <el-tab-pane
    v-for="tab in fieldMappingTabs"
    :key="tab.id"
    :label="tab.label"
    :name="tab.name"
  >
    <el-table
      :key="tab.id"
      :data="tab.data"
      stripe
      border
      style="width: 100%"
    >

      <el-table-column label="名称" width="120">
        <template #default="{ row }">
          <el-input
            v-model="row.name"
            placeholder="请输入名称"
            size="small"
          />
        </template>
      </el-table-column>
      <el-table-column prop="oldFieldName" label="当前字段名" width="120" />
      <el-table-column label="新字段名" width="150">
        <template #default="{ row }">
          <el-input
            v-model="row.key"
            placeholder="请输入新字段名"
            size="small"
          />
        </template>
      </el-table-column>
      <el-table-column label="描述" width="150">
        <template #default="{ row }">
          <el-input
            v-model="row.desc"
            placeholder="请输入描述"
            size="small"
          />
        </template>
      </el-table-column>
      <el-table-column label="操作" width="150">
        <template #default="{ row }">
          <div class="action-buttons">
            <el-button size="small" type="primary" @click="handleUpdateField(row)">
              保存
            </el-button>
            <el-button size="small" type="danger" @click="handleDeleteField(row)">
              删除
            </el-button>
          </div>
        </template>
      </el-table-column>
    </el-table>
  </el-tab-pane>
</el-tabs>

事件

复制代码
categories.forEach((category,index) => {
  // 这里可以根据分类筛选组件,暂时显示所有组件
  tabs.push({
    id:"tab_"+index,
    name: category,
    label: getCategoryLabel(category),
    data: index==0?activeTabList.value:[]
  })
})

注意点

要想在A Tab下的table中写数据不影响到B Tab下的table中的数据 关键点就在于el-tab-pane 和

el-table 中加入key

相关推荐
matlab_xiaowang7 小时前
Redux 入门:JavaScript 可预测状态管理库
开发语言·javascript·其他·ecmascript
前端摸鱼匠9 小时前
Vue 3 的v-bind合并行为:讲解v-bind与普通属性合并的规则
前端·javascript·vue.js·前端框架·ecmascript
REDcker9 小时前
浏览器端Web程序性能分析与优化实战 DevTools指标与工程清单
开发语言·前端·javascript·vue·ecmascript·php·js
Linsk11 小时前
Java和JavaScript的关系真是雷峰和雷峰塔的关系吗?
java·javascript·oracle
当时只道寻常11 小时前
浏览器文本复制到剪贴板:企业级最佳实践
javascript
Alice-YUE12 小时前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
是上好佳佳佳呀13 小时前
【前端(十一)】JavaScript 语法基础笔记(多语言对比)
前端·javascript·笔记
莎士比亚的文学花园13 小时前
Linux驱动开发(3)——设备树
开发语言·javascript·ecmascript
01漫游者14 小时前
JavaScript函数与对象增强知识
开发语言·javascript·ecmascript
threelab16 小时前
Three.js 代码云效果 | 三维可视化 / AI 提示词
开发语言·javascript·人工智能