This package provides easy form wrappers for Vue2, based upon the Bootstrap v4 CSS Framework.
There are a variety of components that this package provides. These are:
- Standard Input Box
- Text Area
- Select List
- Toggle Switch
- File Browser
You can install this package by running the following command: npm install --save vue-form-components
or yarn add vue-form-components
You can then import this package into your project.
Import VueFormComponents from 'vue-form-components'
I recommend when using this package to declare the components as global components. This can be done one of the following ways:
Import VueFormComponents from 'vue-form-components';
Vue.component('input-box', VueFormComponents.InputBox);
This component is designed to save time and repetition by not having to duplicate form groups. The name for this component is InputBox
. This component can be used in conjunction with the v-model
directive. Below is an example of how you might use the component:
<input-box name="email" type="email" label="Your Email" helper="Please enter your email address" v-model="email"></input-box>
With the Standard input box component, you can also use input group addons. This can be done by simply adding slots.
Slot | Description |
---|---|
leftAddon | A standard input group addon on the left side of the input field |
rightAddon | A standard input group addon on the right side of the input field |
leftButton | An input group button on the left side of the input field |
rightButton | An input group button on the right side of the input |
For example, if I wanted to create an input box, with an addon on the right hand side, I could do the following:
<input-box v-model="model" name="email_address" label="Email Address">
<div slot="rightAddon">@example.com</div>
</input-box>
Alternatively, for a button on the right hand side, I could do the following:
<input-box v-model="model" name="email_address" label="Email Address">
<button slot="rightButton" class="btn btn-default">Search</button>
</input-box>
Prop | Type | Default | Required | Description |
---|---|---|---|---|
name | String | Yes | The input name for the field | |
label | String | No | The label for the input | |
helper | String | No | Helper text | |
invalid | Boolean | false | No | Whether or not to show a validation error |
errorMessage | String | No | The error message to show | |
placeholder | String | No | A placeholder for the input | |
inline | Boolean | false | No | Show the label next to the input |
type | String | text | No | The HTML input type |
required | Boolean | false | No | Mark the field as required |
readonly | Boolean | false | No | Mark the field as readonly |
small | Boolean | false | No | Show a small input |
large | Boolean | false | No | Show a large input |
plainText | Boolean | false | No | Show a plain text input |
metaUnderLabel | Boolean | false | No | Show the meta details under the label instead of the input |
This component displays a nice alternative to a standard checkbox. The name for this component is ToggleSwitch
.
This component can be used in conjunction with the v-model
directive.
Prop | Type | Default | Required | Description |
---|---|---|---|---|
name | String | Yes | The checkbox name | |
label | String | No | The label for the checkbox | |
labels | Boolean | false | No | Show yes / no labels on the switch |
helper | String | No | Helper text | |
id | String | No | The id for the checkbox | |
stacked | Boolean | false | No | Show the label above the switch component |
labelColumn | String | col-sm-2 | No | The bootstrap column for the label |
inputColumn | String | col-sm-10 | No | The bootstrap column for the input |
This component generates a textarea within a bootstrap form group. The name for this component is TextArea
.
This component can be used in conjunction with the v-model
directive.
Prop | Type | Default | Required | Description |
---|---|---|---|---|
name | String | Yes | The textarea name | |
label | String | No | The label for the textarea | |
helper | String | No | Helper text | |
showError | Boolean | false | No | Whether or not to show a validation error |
errorMessage | String | No | The error message to show | |
stacked | Boolean | false | No | Show the label above the textarea |
required | Boolean | false | No | Mark the field as required |
id | String | No | The id for the html input |
This component generates a select input within a bootstrap form group. The name for this component is SelectList
.
This component can be used in conjunction with the v-model
directive.
With the Select List component, you can also use input group addons. This can be done by simply adding slots.
Slot | Description |
---|---|
leftAddon | An addon on the left side of the input field |
rightAddon | An addon on the right side of the input field |
leftBtn | An input group button on the left side of the input field |
rightBtn | An input group button on the right side of the input |
Prop | Type | Default | Required | Description |
---|---|---|---|---|
name | String | Yes | The select list name | |
label | String | No | The label for the select list | |
options | Array | Yes | The options to choose from | |
keyName | String | id | No | The name of the key for the value in the options |
labelName | String | label | No | The name of the key for the label in the options |
helper | String | No | Helper text | |
showError | Boolean | false | No | Whether or not to show a validation error |
errorMessage | String | No | The error message to show | |
stacked | Boolean | false | No | Show the label above the textarea |
required | Boolean | false | No | Mark the field as required |
More docs coming soon