@@ -33,38 +33,37 @@ export class Parser {
33
33
if ( field . props . options ) return 'select'
34
34
return 'custom'
35
35
}
36
-
36
+
37
37
getFieldComponent ( field : Field ) : VueComponent {
38
38
return field . component || this . components [ field . type ]
39
39
}
40
-
40
+
41
41
getFieldComponentProps ( field : Field ) : VueComponentProps {
42
- let props = { ... field . props }
42
+ let props = { ...field . props , ... field . componentProps }
43
43
if ( ! props . name )
44
44
props . name = field . name
45
- if ( this . attachRandomId && field . label !== 'none' && ! props . hidden )
45
+ if ( this . attachRandomId && field . label !== 'none' && ! props . hidden )
46
46
props . id = 'VFB' + generateRandomDigits ( 10 )
47
47
return props
48
48
}
49
-
49
+
50
50
getFieldWrapperComponent ( field : Field ) : VueComponent {
51
51
let defaultWrapper = this . wrapper
52
52
if ( field . props . hidden === true )
53
53
defaultWrapper = 'div'
54
54
return field . componentWrapper || field . wrapper || defaultWrapper
55
55
}
56
-
56
+
57
57
getFieldWrapperComponentProps ( field : Field ) : VueComponentProps {
58
58
// if already set, return it
59
59
if ( field . propsWrapper )
60
60
return field . propsWrapper
61
61
62
62
// begin with empty props
63
- const props : VueComponentProps = { }
63
+ const props : VueComponentProps = { }
64
64
65
65
// add label information
66
- if ( ! field . props . hidden && field . label !== 'none' )
67
- {
66
+ if ( ! field . props . hidden && field . label !== 'none' ) {
68
67
if ( field . props . id && ! [ 'radio' , 'checkboxes' ] . includes ( field . type ) )
69
68
props . labelFor = field . props . id
70
69
if ( field . label )
0 commit comments