地铁二期项目正式开始

MainTabFrame.cshtml 3.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. @{
  2. Layout = null;
  3. }
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta charset="utf-8" />
  8. <title></title>
  9. <!-- 引入样式 -->
  10. <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
  11. </head>
  12. <body>
  13. <div id="app" v-cloak>
  14. <div style="margin-bottom: 20px;">
  15. <el-button size="small"
  16. v-on:click="addTab(editableTabsValue2)">
  17. add tab
  18. </el-button>
  19. </div>
  20. <el-tabs v-model="editableTabsValue2" type="card" closable v-on:tab-remove="removeTab">
  21. <el-tab-pane v-for="(item, index) in editableTabs2"
  22. :key="item.name"
  23. :label="item.title"
  24. :name="item.name">
  25. <iframe id="mainframe" src="/Main/IndexCenter"></iframe>
  26. </el-tab-pane>
  27. </el-tabs>
  28. <!-- 先引入 Vue -->
  29. <script src="https://unpkg.com/vue/dist/vue.js"></script>
  30. <!-- 引入组件库 -->
  31. <script src="https://unpkg.com/element-ui/lib/index.js"></script>
  32. <script>
  33. var app = new Vue({
  34. el: '#app',
  35. data() {
  36. return {
  37. editableTabsValue2: '2',
  38. editableTabs2: [{
  39. title: 'Tab 1',
  40. name: '1',
  41. content: 'Tab 1 content'
  42. }, {
  43. title: 'Tab 2',
  44. name: '2',
  45. content: 'Tab 2 content'
  46. }],
  47. tabIndex: 2
  48. }
  49. },
  50. methods: {
  51. addTab(targetName) {
  52. let newTabName = ++this.tabIndex + '';
  53. this.editableTabs2.push({
  54. title: 'New Tab',
  55. name: newTabName,
  56. content: 'New Tab content'
  57. });
  58. this.editableTabsValue2 = newTabName;
  59. },
  60. removeTab(targetName) {
  61. let tabs = this.editableTabs2;
  62. let activeName = this.editableTabsValue2;
  63. if (activeName === targetName) {
  64. tabs.forEach((tab, index) => {
  65. if (tab.name === targetName) {
  66. let nextTab = tabs[index + 1] || tabs[index - 1];
  67. if (nextTab) {
  68. activeName = nextTab.name;
  69. }
  70. }
  71. });
  72. }
  73. this.editableTabsValue2 = activeName;
  74. this.editableTabs2 = tabs.filter(tab => tab.name !== targetName);
  75. }
  76. }
  77. });
  78. </script>
  79. </div>
  80. <style type="text/css">
  81. [v-cloak] {
  82. display:none;
  83. }
  84. </style>
  85. </body>
  86. </html>