Form
<k-form>
This UI component hasn't been finalized yet. The functionality and syntax aren't stable and might be redone in an upcoming release. Only use it at your own risk - breaking changes are likely to occur.
The Form component takes a fields definition and a value/v-model to create a full featured form with grid and everything. If you "just" need the fields, go for the <k-fieldset>
component instead.
Props
Prop | Type | Default | Description |
---|---|---|---|
config |
object |
– |
|
disabled |
boolean |
– |
Whether the form is disabled
|
fields |
array |object |
function() { return {}; } |
|
novalidate |
boolean |
false |
If
true , form fields won't show their validation status on the fly. |
value |
object |
{} |
|
Methods
Method | Parameters | Description |
---|---|---|
focus |
|
Focus a specific field in the form or the first one if no name is given |
submit | – | Submit the form |
Events
Event | Description | Passes |
---|---|---|
submit |
When the form is submitted. This can be done in most inputs by hitting enter. It can also be triggered by a field component by firing a
submit event. This will bubble up to the form and trigger a submit there as well. This is used in the textarea component for example to link the cmd+enter shortcut to a submit. |
|
Slots
Slot | Description |
---|---|
default | If you want to replace the default fieldset |
footer | Add something below the form |
header | Add something above the form |
Example
<template>
<k-form v-model="contact" @input="input" @submit="submit" :fields="{
name: {
label: 'Your Name',
type: 'text',
required: true
},
email: {
label: 'Email Address',
type: 'email',
required: true
},
message: {
label: 'Your Message',
minlength: 140,
required: true,
type: 'textarea'
}
}" />
</template>
<script>
export default {
data() {
return {
contact: {
name: null,
email: null,
message: null
}
}
},
methods: {
input() {
// the data is automatically updated
console.log(this.contact);
},
submit() {
// let's send this thing to the server
this.$api.post('/my/api', this.contact);
}
}
};
</script>
Keyboard Shortcuts
The Form component automatically registers the cmd+s
shortcut to submit the form.
CSS classes
.k-form