EasyUI Forum
April 26, 2024, 05:23:52 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: how to use vue-router router-view tag and Tabs component  (Read 5701 times)
fengdie
Jr. Member
**
Posts: 87


View Profile Email
« on: August 17, 2018, 07:07:20 PM »

View the examples in the attachment image
this example use vue-router plugins,click SideMenu,open new tabs.
« Last Edit: August 18, 2018, 02:02:09 AM by fengdie » Logged
jarry
Administrator
Hero Member
*****
Posts: 2262


View Profile Email
« Reply #1 on: August 19, 2018, 01:08:50 AM »

Your Tabs component can be defined as:
Code:
<div class="main-body f-full f-column">
    <Tabs ref="tabs" class="f-full" @tabClose="onTabClose($event)">
      <TabPanel title="Home"></TabPanel>
      <TabPanel v-for="p in panels" :title="p.title" :closable="true" :key="p.title" bodyCls="f-column">
        <component :is="p.component" class="f-full"></component>
      </TabPanel>
    </Tabs>
</div>
When click on a menu, create a new TabPanel component.
Code:
onItemClick(item) {
  let index = this.panels.findIndex(p => {return p.title == item.text});
  if (index >= 0){
    this.$refs.tabs.select(index+1);
    return;
  }
  this.panels.push({
    title: item.text,
    component: item.component
  });
  this.$nextTick(() => {
    this.$refs.tabs.select(this.panels.length);
  })
},
onTabClose(panel){
  this.panels = this.panels.filter(p => p.title != panel.title);
}
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!