• element,点击查看,实现tab切换:


    点击查看,实现tab切换:

    代码如下:

      <template>
      <div>
        <el-table :data="tableData" style=" 100%">
          <el-table-column prop="date" label="日期" width="180"></el-table-column>
          <el-table-column prop="name" label="姓名" width="180"></el-table-column>
          <el-table-column prop="address" label="地址"></el-table-column>
          <el-table-column fixed="right" label="操作" width="100">
            <template slot-scope="scope">
              <el-button @click="handleClick(scope.$index,scope.row)" type="text" size="small">查看</el-button>
              <el-button type="text" size="small">编辑</el-button>
            </template>
          </el-table-column>
        </el-table>
        <el-tabs v-model="editableTabsValue2" type="card" closable @tab-remove="removeTab">
          <el-tab-pane
            v-for="(item, index) in editableTabs2"
            :key="item.index"
            :label="item.title"
            :name="item.name"
          >
            <base-table></base-table>
          </el-tab-pane>
        </el-tabs>
      </div>
    </template>
      <script>
    import BaseTable from "./BaseTable.vue";
    export default {
      components: {
        BaseTable
      },
      data() {
        return {
          editableTabsValue2: "0",
          editableTabs2: [],
          tabIndex: 2,
          tableFlag: false,
          tableData: [
            {
              date: "2016-05-02",
              name: "王小虎",
              address: "上海市普陀区金沙江路 1518 弄"
            },
            {
              date: "2016-05-04",
              name: "王小虎",
              address: "上海市普陀区金沙江路 1517 弄"
            },
            {
              date: "2016-05-01",
              name: "王小虎",
              address: "上海市普陀区金沙江路 1519 弄"
            },
            {
              date: "2016-05-03",
              name: "王小虎",
              address: "上海市普陀区金沙江路 1516 弄"
            }
          ]
        };
      },
      methods: {
        handleClick(index, row) {
          // console.log("row", row);
          // console.log("index", index);
          // console.log("this.row.name", row);
          let newTabName = index + "";
          // console.log("this.editableTabs2.length", this.editableTabs2.length);
          // this.editableTabs2 = new Set(this.editableTabs2);
          this.editableTabs2.push({
            title: row.date,
            name: newTabName
          });
          this.editableTabsValue2 = newTabName;
        },
    
        removeTab(targetName) {
          let tabs = this.editableTabs2;
          let activeName = this.editableTabsValue2;
          if (activeName === targetName) {
            tabs.forEach((tab, index) => {
              if (tab.name === targetName) {
                let nextTab = tabs[index + 1] || tabs[index - 1];
                if (nextTab) {
                  activeName = nextTab.name;
                }
              }
            });
          }
    
          this.editableTabsValue2 = activeName;
          this.editableTabs2 = tabs.filter(tab => tab.name !== targetName);
        }
      }
    };
    </script>
  • 相关阅读:
    数组的操作方法
    数组遍历的方法以及区别
    组件内的守卫
    路由守卫
    软件工程
    java web (j2ee)学习路线 —— 将青春交给命运
    团队作业(一)- 第五组
    软件工程
    软件工程-第二次作业
    java局部/成员/静态/实例变量
  • 原文地址:https://www.cnblogs.com/DZzzz/p/10030081.html
Copyright © 2020-2023  润新知