Slot Example Vue
This page assumes you’ve already read the Components Basics.Read that first if you are new to components. Vue implements a content distribution API that’s modeled after the current Web Components spec draft, using the slot element to serve as distribution outlets for content.
- For example, let's say we wanted to populate a modal. Computed properties are the most important feature in Vue. Sure, scoped slots let you create some nice.
- Slots are especially useful when the component composition underneath the parent component isn't always the same. Take the following example where we have a page component. The content of the page could change based on whether that page displays e.g. An article, blog post or form.
# Calendar widget
Vue date pick can be used in calendar widget form.
Mon | Tue | Wed | Thu | Fri | Sat | Sun |
---|---|---|---|---|---|---|
29 | 31 | 2 | ||||
4 | 6 | 8 | 10 | |||
12 | 14 | 16 | ||||
18 | 20 | 22 | 24 | |||
26 | 28 | 2 |
Show code
# Date format
Simple date picker with custom format (default is 'YYYY-MM-DD'):
Show code
# Display format
Use display format prop when UI date format is different from raw data format.
Show code
# Custom date parser
Vue date pick comes with simple date parser.If you need to work with complex date formats feel free to inject implementation of your choice.
Show code
Slot-scope Vue Example
# Date time picker
Date picker with controls for hours and minutes:
Show code
# Date time picker (AM/PM)
Date time picker with hours displayed using 12 hour clock:
Show code
# Custom start period
Open calendar UI with custom start month / year period:
Show code
# Custom content with slot
Replace default input controls with custom slot content:
Show code
# Disabling dates
Set 'isDateDisabled' function as component prop to disable dates:
Show code
# Disabling manual input
Manual user input can be disabled by setting input readonly attribute via 'inputAttributes' prop.
Show code
# Disable editing and picker UI
Disable input editing and calendar UI by setting 'editable' prop to false.
Show code
# Start week on Sunday
Sunday can be set as the first day of the week via 'startWeekOnSunday' prop.
Show code
# Change selectable years
Dropdown for selecteble years can be customized via selectableYearRange prop(default value is 40 years from and after current year).
Show code
Cupertino Pane for Vue 3
A Vue 3 Wrapper for Cupertino Library.
Actually kinda easy
Example
Slot
The component just have one simple slot where you can easily put one or multiple components (by wrapping it in a template or wrap element like a div), doesn't have any special v-slots, any component or html element used will fallback into v-slot:default.
Props
props | type | example | comments |
---|---|---|---|
:drawerOptions ( optional ) | CupertinoSettings | <v-cupertino :drawerOptions='yourSettingsObject'> | The same as the Cupertinos Options; constraints you cannot override cupertino's callbacks even if you specified in the CupertinoSettings ' Object |
:entryAnimation ( optional ) | Boolean | <v-cupertino :entryAnimation='Boolean'> | Whether the drawer should present, destroy or hide with a smooth animation |
:entryComponent ( optional ) | Component | <v-cupertino :entryComponent='Component'> | The component itself use slots, but I think it would be faster to toggle between component from scripts instead of using v-if also components remember their state because are wrapped by <keep-alive> tag |
:isPresent | Boolean | <v-cupertino :entryComponent='Component'> | Whether the component should be present or hide, when initialize; default: true |
Events
Note: Are the same hooks as the Cupertino pane but instead of camelCase are kebak-case and without the prefix on: @will-dismiss, @backdrop-tap...
events | return | comments |
---|---|---|
@did-dismiss | () => void | |
@will-dismiss | () => void | |
@did-present | () => cupertinoInstance | Returns: the cupertino instance inside the component when the drawer is already visible, this is useful when you need to have access to the instance once is visible |
@will-present | () => cupertinoInstance | Returns: the cupertino instance inside the component when the drawer will be visible, this is useful when you need to have access to the instance before is visible |
@drag-start | () => number | Returns: the property y from the method getBoundingClientRect() that belongs to the DOMRect |
@drag | () => number | Returns: the property y from the method getBoundingClientRect() that belongs to the DOMRect |
@drag-end | () => number | Returns: the property y from the method getBoundingClientRect() that belongs to the DOMRect |
@backdrop-tap | () => void | |
@transition-start | () => void | |
@transition-end | () => void |
How to get access to the public method from the Cupertino Instance inside the component <v-cupertino />
There are actually three ways to get the instance from <v-cupertino />
component from its parent container:
- refs
- From the instance returned by @did-present event
- From the instance returned by @will-present event
Getting the instance with refs
Sample code
Getting the instance from @did-present or @will-present event
Sample code
![Slot Example Vue Slot Example Vue](https://bezkoder.com/wp-content/uploads/2019/06/vue-v-slot-example-feature-image.png)
Slot Example Vueling
Using public methods
Slot Example Vuelos
Here an overview of all the public methods
Slot Example Vue Bar
Using the refs example to access public methods