<template> <div> <Head> <Title>Vue SplitButton Component</Title> <Meta name="description" content="SplitButton groups a set of commands in an overlay with a default command." /> </Head> <div class="content-section introduction"> <div class="feature-intro"> <h1>SplitButton</h1> <p>SplitButton groups a set of commands in an overlay with a default command.</p> </div> <AppDemoActions /> </div> <div class="content-section implementation"> <div class="card"> <h5>Basic</h5> <SplitButton label="Save" icon="pi pi-plus" @click="save" :model="items" :buttonProps="{ 'aria-label': 'Default Action' }" :menuButtonProps="{ 'aria-label': 'More Options' }"></SplitButton> <h5>Nested</h5> <SplitButton label="Save" icon="pi pi-plus" @click="save" :model="nestedItems"></SplitButton> <h5>Severities</h5> <SplitButton label="Primary" :model="items" class="mb-2"></SplitButton> <SplitButton label="Secondary" :model="items" class="p-button-secondary mb-2"></SplitButton> <SplitButton label="Success" :model="items" class="p-button-success mb-2"></SplitButton> <SplitButton label="Info" :model="items" class="p-button-info mb-2"></SplitButton> <SplitButton label="Warning" :model="items" class="p-button-warning mb-2"></SplitButton> <SplitButton label="Help" :model="items" class="p-button-help mb-2"></SplitButton> <SplitButton label="Danger" :model="items" class="p-button-danger mb-2"></SplitButton> <h5>Raised Buttons</h5> <SplitButton label="Primary" :model="items" class="p-button-raised mb-2"></SplitButton> <SplitButton label="Secondary" :model="items" class="p-button-raised p-button-secondary mb-2"></SplitButton> <SplitButton label="Success" :model="items" class="p-button-raised p-button-success mb-2"></SplitButton> <SplitButton label="Info" :model="items" class="p-button-raised p-button-info mb-2"></SplitButton> <SplitButton label="Warning" :model="items" class="p-button-raised p-button-warning mb-2"></SplitButton> <SplitButton label="Help" :model="items" class="p-button-raised p-button-help mb-2"></SplitButton> <SplitButton label="Danger" :model="items" class="p-button-raised p-button-danger mb-2"></SplitButton> <h5>Rounded Buttons</h5> <SplitButton label="Primary" :model="items" class="p-button-rounded mb-2"></SplitButton> <SplitButton label="Secondary" :model="items" class="p-button-rounded p-button-secondary mb-2"></SplitButton> <SplitButton label="Success" :model="items" class="p-button-rounded p-button-success mb-2"></SplitButton> <SplitButton label="Info" :model="items" class="p-button-rounded p-button-info mb-2"></SplitButton> <SplitButton label="Warning" :model="items" class="p-button-rounded p-button-warning mb-2"></SplitButton> <SplitButton label="Help" :model="items" class="p-button-rounded p-button-help mb-2"></SplitButton> <SplitButton label="Danger" :model="items" class="p-button-rounded p-button-danger mb-2"></SplitButton> <h5>Text Buttons</h5> <SplitButton label="Primary" :model="items" class="p-button-text mb-2"></SplitButton> <SplitButton label="Secondary" :model="items" class="p-button-text p-button-secondary mb-2"></SplitButton> <SplitButton label="Success" :model="items" class="p-button-text p-button-success mb-2"></SplitButton> <SplitButton label="Info" :model="items" class="p-button-text p-button-info mb-2"></SplitButton> <SplitButton label="Warning" :model="items" class="p-button-text p-button-warning mb-2"></SplitButton> <SplitButton label="Help" :model="items" class="p-button-text p-button-help mb-2"></SplitButton> <SplitButton label="Danger" :model="items" class="p-button-text p-button-danger mb-2"></SplitButton> <h5>Raised Text Buttons</h5> <SplitButton label="Primary" :model="items" class="p-button-raised p-button-text mb-2"></SplitButton> <SplitButton label="Secondary" :model="items" class="p-button-raised p-button-text p-button-secondary mb-2"></SplitButton> <SplitButton label="Success" :model="items" class="p-button-raised p-button-text p-button-success mb-2"></SplitButton> <SplitButton label="Info" :model="items" class="p-button-raised p-button-text p-button-info mb-2"></SplitButton> <SplitButton label="Warning" :model="items" class="p-button-raised p-button-text p-button-warning mb-2"></SplitButton> <SplitButton label="Help" :model="items" class="p-button-raised p-button-text p-button-help mb-2"></SplitButton> <SplitButton label="Danger" :model="items" class="p-button-raised p-button-text p-button-danger mb-2"></SplitButton> <h5>Outlined Buttons</h5> <SplitButton label="Primary" :model="items" class="p-button-outlined mb-2"></SplitButton> <SplitButton label="Secondary" :model="items" class="p-button-outlined p-button-secondary mb-2"></SplitButton> <SplitButton label="Success" :model="items" class="p-button-outlined p-button-success mb-2"></SplitButton> <SplitButton label="Info" :model="items" class="p-button-outlined p-button-info mb-2"></SplitButton> <SplitButton label="Warning" :model="items" class="p-button-outlined p-button-warning mb-2"></SplitButton> <SplitButton label="Help" :model="items" class="p-button-outlined p-button-help mb-2"></SplitButton> <SplitButton label="Danger" :model="items" class="p-button-outlined p-button-danger mb-2"></SplitButton> <h5>Sizes</h5> <SplitButton label="Small" :model="items" class="p-button-sm mb-2"></SplitButton> <SplitButton label="Normal" :model="items" class="mb-2"></SplitButton> <SplitButton label="Large" :model="items" class="p-button-lg mb-2"></SplitButton> <h5>Templating</h5> <SplitButton :model="items" class="bg-primary border-round"> <Button @click="save"> <img alt="logo" src="@/assets/images/logo.svg" style="width: 1rem" /> <span class="ml-2 flex align-items-center font-bold">PrimeVue</span> </Button> </SplitButton> </div> </div> <SplitButtonDoc /> </div> </template> <script> import SplitButtonDoc from './SplitButtonDoc'; export default { data() { return { items: [ { label: 'Update', icon: 'pi pi-refresh', command: () => { this.$toast.add({ severity: 'success', summary: 'Updated', detail: 'Data Updated', life: 3000 }); } }, { label: 'Delete', icon: 'pi pi-times', command: () => { this.$toast.add({ severity: 'warn', summary: 'Delete', detail: 'Data Deleted', life: 3000 }); } }, { label: 'Vue Website', icon: 'pi pi-external-link', command: () => { window.location.href = 'https://vuejs.org/'; } }, { label: 'Upload', icon: 'pi pi-upload', to: '/fileupload' } ], nestedItems: [ { label: 'File', icon: 'pi pi-fw pi-file', items: [ { label: 'New', icon: 'pi pi-fw pi-plus', items: [ { label: 'Bookmark', icon: 'pi pi-fw pi-bookmark' }, { label: 'Video', icon: 'pi pi-fw pi-video' } ] }, { label: 'Delete', icon: 'pi pi-fw pi-trash' }, { separator: true }, { label: 'Export', icon: 'pi pi-fw pi-external-link' } ] }, { label: 'Edit', icon: 'pi pi-fw pi-pencil', items: [ { label: 'Left', icon: 'pi pi-fw pi-align-left' }, { label: 'Right', icon: 'pi pi-fw pi-align-right' }, { label: 'Center', icon: 'pi pi-fw pi-align-center' }, { label: 'Justify', icon: 'pi pi-fw pi-align-justify' } ] }, { label: 'Users', icon: 'pi pi-fw pi-user', items: [ { label: 'New', icon: 'pi pi-fw pi-user-plus' }, { label: 'Delete', icon: 'pi pi-fw pi-user-minus' }, { label: 'Search', icon: 'pi pi-fw pi-users', items: [ { label: 'Filter', icon: 'pi pi-fw pi-filter', items: [ { label: 'Print', icon: 'pi pi-fw pi-print' } ] }, { icon: 'pi pi-fw pi-bars', label: 'List' } ] } ] }, { label: 'Events', icon: 'pi pi-fw pi-calendar', items: [ { label: 'Edit', icon: 'pi pi-fw pi-pencil', items: [ { label: 'Save', icon: 'pi pi-fw pi-calendar-plus' }, { label: 'Delete', icon: 'pi pi-fw pi-calendar-minus' } ] }, { label: 'Archieve', icon: 'pi pi-fw pi-calendar-times', items: [ { label: 'Remove', icon: 'pi pi-fw pi-calendar-minus' } ] } ] }, { separator: true }, { label: 'Quit', icon: 'pi pi-fw pi-power-off' } ] }; }, methods: { save() { this.$toast.add({ severity: 'success', summary: 'Success', detail: 'Data Saved', life: 3000 }); } }, components: { SplitButtonDoc: SplitButtonDoc } }; </script> <style lang="scss" scoped> .p-splitbutton { margin-right: 0.5rem; } </style>