@pbartkowicz/buttonmenu

1.0.0 • Public • Published

Table of contents

General

Vue component, that allows you to create button with dropdown menu

component is created with:

  • Vue 2.6.10

Setup

install module locally with npm or yarn

npm i @pbartkowicz/buttonmenu

or

yarn add @pbartkowicz/buttonmenu

Usage

Import

import buttonmenu from '@pbartkowicz/buttonmenu'

Register in components section

components:{
    buttonmenu,
},

Define array with options

data(){

    return{

        yourArrayWitOptions:[
            'option1',
            'option2',
            'option3'
        ],

    }

}

Use component in your code

<buttonmenu :options="yourArrayWitOptions"/>

You allways can define array with objects

data(){

    return{

        yourArrayWitOptions:[
            {name: 'option1'},
            {name: 'option2'},
            {name: 'option3'}
        ],

    }

}

And then define label prop for displayed value in dropdown

<buttonmenu :options="yourArrayWitOptions" label="name"/>

Object options

When you will define array with objects, you can pass in to objects options:

Option Type Default Required Description
class String No Name of class for option.
disabled Boolean No Option to disable item.
callback String No Name of emmit
data(){

    return{

        yourArrayWitOptions:[
            {name: 'option1', class: 'your-class-for-option'},
            {name: 'option2', disabled: true},
            {name: 'option3', callback: 'yourEmmit'}
        ],

    }

}

In this case 'option1' will have class "your-class-for-option" and 'option2' will be disabled. When You select 'option3' then buttonmenu component will emmit 'yourEmmit'

<buttonmenu :options="yourArrayWitOptions" label="name" @yourEmmit="callYourFunction()"/>

Props

Prop Type Default Required Description
options Array No Array with dropdown options.
label String No Displayed value in dropdown from object in array.

Slots

There is avaible slot to define your own icon

<vueselect :options="yourArrayWitOptions" label="name">
    <template v-slot:icon>
        <img src="yourIcon.svg" alt="icon" />
    </template>
<vueselect/>

Readme

Keywords

Package Sidebar

Install

npm i @pbartkowicz/buttonmenu

Weekly Downloads

0

Version

1.0.0

License

ISC

Unpacked Size

29.8 kB

Total Files

4

Last publish

Collaborators

  • pbartkowicz