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

相关推荐
局外人LZ2 小时前
libsodium.js:web端与 Node.js 的现代加密工具集,构建前端安全加密体系
前端·javascript·node.js
xkxnq2 小时前
第二阶段:Vue 组件化开发(第 20天)
前端·javascript·vue.js
哈__2 小时前
React Native 鸿蒙跨平台开发:Keyboard 键盘控制
javascript·react native·react.js
lili-felicity2 小时前
React Native 鸿蒙跨平台开发:TextInput 数据键盘实现与最大文字长度限制
javascript·react native·react.js·harmonyos
光影少年2 小时前
electron通信方式有哪些?
前端·javascript·electron
meichaoWen2 小时前
【nodejs】nodejs的一些基础知识
开发语言·前端·javascript
@Autowire2 小时前
Grid-grid-template-areas 属性
前端·javascript·css
刘一说2 小时前
腾讯位置服务JavaScript API GL地图组件库深度解析:Vue生态中的地理空间可视化利器
javascript·vue.js·信息可视化·webgl·webgis
*才华有限公司*2 小时前
#从401到200:Spring Boot + Vue 静态资源访问全链路问题解决方案
vue.js·spring boot·后端