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