el-tab添加tab时复用组件如何传值?

<el-tabs closable type="border-card" v-model="activeName"  @tab-remove="removeTab">
          <el-tab-pane
            :key="item.name"
            v-for="item in editableTabs"
            :label="item.title"
            :name="item.name"
          >
            <component
              :is="item.content"
              :tableData="tableData"
              :tableLabel="tableLabel"
            ></component>
          </el-tab-pane>
</el-tabs>

现在有需求是点击按钮上传excel然后新添加tab标签页,往表格组件传递上传的excel数据,但是我这样写了之后,前面打开的标签里面表格组件的值也跟着变成新的数据了而不是保持旧数据

阅读 3.6k
1 个回答

从你的component代码就可以看出,你所有的组件使用的都是tableData这同一份数据,你改变了他,所有的组件可不都改变了吗。

这种情况肯定需要维护多个数据,每个组件有一个他自己的数据,比如你写的item.content一样,吧数据放到item上,使用item.tableData

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题