vue-tabs-chrome
A Vue component for Chrome-like tabs.
Drag-and-drop support provided by Draggabilly by @desandro.
Install
npm install --save vue-tabs-chrome
Usage
<template>
<vue-tabs-chrome v-model="tab" :tabs="tabs" />
</template>
<script>
export default {
data () {
return {
tab: 'google',
tabs: [
{
label: 'google',
key: 'google',
closable: false,
favico: require('./assets/google.jpg')
},
{
label: 'facebook',
key: 'facebook',
favico: require('./assets/fb.jpg')
},
{
label: 'New Tab',
key: 'costom key',
favico: (h, { tab, index }) => {
return h('span', tab.label)
}
}
]
}
}
}
</script>
Attributes
| Attributes |
Description |
Type |
Default |
| tabs |
tabs configuration. Details are mentioned below. |
Array |
[] |
| value / v-model |
binding value |
String |
- |
| props |
configuration options, Details are mentioned below. |
|
|
| insert-to-after |
Insert to tag's after |
Boolean |
false |
| is-mousedown-active |
set tab is active when mousedown |
Boolean |
true |
| renderLabel |
render label |
Function(tab, index) |
- |
| autoHiddenCloseIconWidth |
auto hidden close tab width. if tabWidth < 120, close icon can not show. If you don’t want this feature, you can set the value to 0. |
Number |
120 |
| onClose |
when tab close btn click. if return false, it cannot be closed. |
Function(tab, key, index) |
- |
Tabs Attributes
| Attributes |
Description |
Type |
Default |
| label |
tab label |
String |
- |
| key |
tab key |
String |
- |
| class |
tab class |
String |
- |
| closable |
tab closable |
Boolean |
true |
| favico |
tab favico. Custom favico renderer. It uses Vue's render function. It accepts two arguments: the first is h, the second is an object. including tab and index |
Function, required image |
- |
Props Attributes
| Attributes |
Description |
Type |
Default |
| label |
specify which key of tab object is used as the tab's label |
String |
'label' |
| key |
specify which key of tab object is used as the tab's key |
String |
'key' |
Methods
| Method |
Description |
Parameters |
| addTab |
add tab |
(tab1, [, ...tab, ...tabN]) |
| removeTab |
remove tab |
(tabKey or index) |
| getTabs |
get tabs |
- |
Events
| Event Name |
Description |
Parameters |
| click |
Triggered when the user's pointer is pressed and unpressed and has not moved enough to start dragging. |
(event, tab, index) |
| swap |
Swap tab |
(tab, targetTab) |
| remove |
Remove tab |
(tab, index) |
| contextmenu |
Contextmenu event |
(event, tab, index) |
| dragstart |
Tab dragstart event |
(event, tab, index) |
| dragging |
Tab dragstart event |
(event, tab, index) |
| dragend |
Tab dragend event |
(event, tab) |
Slots
| Attributes |
Description |
| after |
Tab after slot |
GitHub