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

相关推荐
CoolerWu14 小时前
TRAE SOLO实战成功展示&总结:一个所见即所得的笔记软体
前端·javascript
Cassie燁14 小时前
el-button源码解读1——为什么组件最外层套的是Vue内置组件Component
前端·vue.js
北极糊的狐14 小时前
Vue3 子组件修改父组件传递的对象并同步的方法汇总
前端·javascript·vue.js
Zyx200714 小时前
JavaScript 作用域与闭包(下):闭包如何让变量“长生不老”
javascript
u***j32414 小时前
JavaScript在Node.js中的进程管理
开发语言·javascript·node.js
用户479492835691514 小时前
javascript新进展你关注了吗:TC39 东京会议带来五大新特性
javascript
一 乐15 小时前
餐厅管理智能点餐系统|基于java+ Springboot的餐厅管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端
北极糊的狐15 小时前
父组件向子组件传参时,传递数组和对象类型的参数的方法
前端·javascript·vue.js
一颗不甘坠落的流星16 小时前
【HTML】iframe 标签 allow 权限汇总(例如添加复制粘贴权限)
前端·javascript·html
forestsea16 小时前
现代 JavaScript 加密技术详解:Web Crypto API 与常见算法实践
前端·javascript·算法