# Custom components
Form-create supports generating any vue components inside the form
Warn
- Custom components must be generated beforeMount or register v2.5.0+
- Only when you need to get the generation rules of the component through the
fApi.component()method, you need to define thenameproperty - When you need to make a custom component and a built-in component have the same function, you can convert it toForm component
# Mount custom components
The components generated by form-create need to be mounted in the following ways before they can be generated.
Warn
Test Componentis a custom component- 1.x version uses partial mounting method to mount components need to be executed before mounting
form-create
Global mount
Vue.component(TestComponent) Partial mount
formCreate.component(TestComponent.name, TestComponent) # Generate components from tags
Generate custom components by creating a virtual DOM
# Generate
{ type:'i-button', name: 'btn', props:{ type:'primary', field:'btn', loading:true }, children:['loading'] } # Modify
Obtain and modify the generation rules of the component through the fApi.component() method
fApi.component().btn.props.loading = false # Example
Layout through custom components
# Generate components from templates
Generate custom components through template, Not recommended
# Generate
{ type:'template', name:'btn' template:'<i-button :loading="loading">{{text}}<i-button>', vm(){ return new Vue({ data:{ loading:true, text:'loading' } }) } } # Predefined props
When the component is generated, the following parameters will be injected into the custom component
- formCreate
fApi - formCreateField The
fieldof the form component, may be empty - formCreateOptions Generate rule
options - formCreateRule Generation rules