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

相关推荐
吴声子夜歌5 分钟前
JavaScript——面向对象
java·开发语言·javascript
apcipot_rain12 分钟前
事无巨细地解释一个vue前端网页
前端·javascript·vue.js
han_15 分钟前
JavaScript设计模式(三):代理模式实现与应用
前端·javascript·设计模式
西梯卧客27 分钟前
[4-3] 异步编程与事件循环 · 终极异步解决方案 (Generator & Async/Await)
javascript
米丘29 分钟前
vue-router 5.x 文件式路由
前端·vue.js
不甜情歌30 分钟前
JS 拷贝:浅拷贝 / 深拷贝原理 + 常用方法
前端·javascript
敲代码的约德尔人30 分钟前
Vue 3 响应式系统完全指南:我在 4 个项目中踩坑后总结的血泪经验
前端·vue.js
Fisschl30 分钟前
在 Vue 中使用 i18n 国际化
vue.js
Roselind_Yi31 分钟前
技术拆解:《从音频到动效:我是如何用 Web Audio API 拆解音乐的?》
前端·javascript·人工智能·音视频·语音识别·实时音视频·audiolm
我叫黑大帅32 分钟前
Js常用数组处理
前端·javascript·面试