@@ -266,8 +266,8 @@ function localizeZh(errors) {
266
266
}
267
267
}
268
268
269
- /**
270
- * Created by Liu.Jun on 2020/4/30 11:22.
269
+ /**
270
+ * Created by Liu.Jun on 2020/4/30 11:22.
271
271
*/
272
272
var i18n = {
273
273
$$currentLocalizeFn : localizeZh ,
@@ -8246,7 +8246,8 @@ function validateFormDataAndTransformMsg() {
8246
8246
isOnlyFirstError = _ref2$isOnlyFirstErro === void 0 ? true : _ref2$isOnlyFirstErro ;
8247
8247
// 如果数组类型针对配置了 format 的特殊处理
8248
8248
8249
- var isEmpty = formData === undefined || schema . type === 'array' && schema . format && Array . isArray ( formData ) && formData . length === 0 ;
8249
+ var emptyArray = schema . type === 'array' && Array . isArray ( formData ) && formData . length === 0 ;
8250
+ var isEmpty = formData === undefined || emptyArray ;
8250
8251
8251
8252
if ( required ) {
8252
8253
if ( isEmpty ) {
@@ -8272,7 +8273,7 @@ function validateFormDataAndTransformMsg() {
8272
8273
8273
8274
return [ requireErrObj ] ;
8274
8275
}
8275
- } else if ( isEmpty ) {
8276
+ } else if ( isEmpty && ! emptyArray ) {
8276
8277
// 非required 为空 校验通过
8277
8278
return [ ] ;
8278
8279
} // 校验ajv错误信息
@@ -9414,15 +9415,20 @@ var __vue_render__$1 = function() {
9414
9415
var _c = _vm . _self . _c || _h ;
9415
9416
return _c (
9416
9417
"el-checkbox-group" ,
9417
- {
9418
- model : {
9419
- value : _vm . checkList ,
9420
- callback : function ( $$v ) {
9421
- _vm . checkList = $$v ;
9422
- } ,
9423
- expression : "checkList"
9424
- }
9425
- } ,
9418
+ _vm . _b (
9419
+ {
9420
+ model : {
9421
+ value : _vm . checkList ,
9422
+ callback : function ( $$v ) {
9423
+ _vm . checkList = $$v ;
9424
+ } ,
9425
+ expression : "checkList"
9426
+ }
9427
+ } ,
9428
+ "el-checkbox-group" ,
9429
+ _vm . $attrs ,
9430
+ false
9431
+ ) ,
9426
9432
_vm . _l ( _vm . enumOptions , function ( item , index ) {
9427
9433
return _c ( "el-checkbox" , { key : index , attrs : { label : item . value } } , [
9428
9434
_vm . _v ( _vm . _s ( item . label ) )
@@ -9874,7 +9880,6 @@ var UploadWidget = {
9874
9880
} , [ slots . tip ] ) ) ;
9875
9881
}
9876
9882
9877
- window . childVNode = childVNode ;
9878
9883
return h ( 'el-upload' , data , childVNode ) ;
9879
9884
}
9880
9885
} ;
@@ -10862,8 +10867,18 @@ var ArrayField = {
10862
10867
10863
10868
if ( ! schema . hasOwnProperty ( 'items' ) ) {
10864
10869
throw new Error ( "[" . concat ( schema , "] \u8BF7\u5148\u5B9A\u4E49 items\u5C5E\u6027" ) ) ;
10870
+ } // 多选类型
10871
+
10872
+
10873
+ if ( isMultiSelect ( schema , rootSchema ) ) {
10874
+ // item 为枚举固定值
10875
+ return h ( ArrayFieldMultiSelect , {
10876
+ props : this . $props ,
10877
+ class : _defineProperty ( { } , lowerCase ( ArrayFieldMultiSelect . name ) , true )
10878
+ } ) ;
10865
10879
} // 特殊处理 date datetime time url-upload
10866
- // array 支持配置 ui:widget
10880
+ // array 支持配置 ui:widget
10881
+ // 时间日期区间 或者 ui:widget 特殊配置
10867
10882
10868
10883
10869
10884
if ( schema . format || schema [ 'ui:widget' ] || uiSchema [ 'ui:widget' ] ) {
@@ -10872,22 +10887,10 @@ var ArrayField = {
10872
10887
class : _defineProperty ( { } , lowerCase ( ArrayFieldSpecialFormat . name ) , true )
10873
10888
} ) ;
10874
10889
} // https://json-schema.org/understanding-json-schema/reference/array.html#list-validation
10890
+ // https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation
10875
10891
10876
10892
10877
- var CurrentField = ArrayFieldNormal ;
10878
-
10879
- if ( isFixedItems ( schema ) ) {
10880
- // https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation
10881
- CurrentField = ArrayFieldTuple ;
10882
- } else if ( isMultiSelect ( schema , rootSchema ) ) {
10883
- // item 为枚举固定值
10884
- CurrentField = ArrayFieldMultiSelect ;
10885
- return h ( ArrayFieldMultiSelect , {
10886
- props : this . $props ,
10887
- class : _defineProperty ( { } , lowerCase ( ArrayFieldMultiSelect . name ) , true )
10888
- } ) ;
10889
- }
10890
-
10893
+ var CurrentField = isFixedItems ( schema ) ? ArrayFieldTuple : ArrayFieldNormal ;
10891
10894
return h ( 'div' , [ h ( CurrentField , {
10892
10895
props : _objectSpread2 ( {
10893
10896
itemsFormData : this . itemsFormData
@@ -10946,8 +10949,8 @@ var SelectLinkageField = {
10946
10949
10947
10950
return this . curSelectIndex || 0 ;
10948
10951
} ,
10949
- // 下拉选项 Vnode
10950
- getSelectBoxVnode : function getSelectBoxVnode ( ) {
10952
+ // 下拉选项 VNode
10953
+ getSelectBoxVNode : function getSelectBoxVNode ( ) {
10951
10954
var _this = this ;
10952
10955
10953
10956
// 下拉选项参数
@@ -10985,7 +10988,7 @@ var SelectLinkageField = {
10985
10988
} ;
10986
10989
} ) ;
10987
10990
} // oneOf option 渲染
10988
- // 选择框 vnode
10991
+ // 选择框 VNode
10989
10992
10990
10993
10991
10994
return this . $createElement ( Widget , {
@@ -11008,35 +11011,38 @@ var SelectLinkageField = {
11008
11011
// 如果object 类型 option有添加属性 这里做移除
11009
11012
// 对新option计算默认值
11010
11013
curSelectIndex : function curSelectIndex ( newVal , oldVal ) {
11011
- var curFormData = getPathVal ( this . rootFormData , this . curNodePath ) ; // 移除旧key
11014
+ var curFormData = getPathVal ( this . rootFormData , this . curNodePath ) ; // 计算出 新选项默认值
11015
+
11016
+ var newOptionData = getDefaultFormState ( this . selectList [ newVal ] , undefined , this . rootSchema ) ;
11017
+ var hasOwn = Object . prototype . hasOwnProperty ; // 移除旧key
11012
11018
11013
11019
if ( isObject ( curFormData ) ) {
11014
11020
var oldSelectSchema = retrieveSchema ( this . selectList [ oldVal ] , this . rootSchema ) ;
11015
11021
11016
- if ( oldSelectSchema . type === 'object' || oldSelectSchema . properties ) {
11022
+ if ( getSchemaType ( oldSelectSchema ) === 'object' ) {
11017
11023
// 移除旧schema添加的属性
11018
11024
// Object.keys(oldSelectSchema.properties)
11019
11025
for ( var key in oldSelectSchema . properties ) {
11020
- if ( Object . prototype . hasOwnProperty . call ( oldSelectSchema . properties , key ) ) {
11026
+ if ( hasOwn . call ( oldSelectSchema . properties , key ) && ! hasOwn . call ( newOptionData , key ) ) {
11021
11027
deletePathVal ( curFormData , key ) ; // delete curFormData[key];
11022
11028
}
11023
11029
}
11024
11030
}
11025
11031
} // 设置新值
11026
11032
11027
11033
11028
- var newOptionValue = getDefaultFormState ( this . selectList [ newVal ] , undefined , this . rootSchema ) ;
11029
-
11030
- if ( guessType ( newOptionValue ) === 'object' ) {
11031
- Object . entries ( newOptionValue ) . forEach ( function ( _ref ) {
11034
+ if ( isObject ( newOptionData ) ) {
11035
+ Object . entries ( newOptionData ) . forEach ( function ( _ref ) {
11032
11036
var _ref2 = _slicedToArray ( _ref , 2 ) ,
11033
11037
key = _ref2 [ 0 ] ,
11034
11038
value = _ref2 [ 1 ] ;
11035
11039
11036
- setPathVal ( curFormData , key , value ) ;
11040
+ if ( value !== undefined ) {
11041
+ setPathVal ( curFormData , key , value ) ;
11042
+ }
11037
11043
} ) ;
11038
11044
} else {
11039
- setPathVal ( this . rootFormData , this . curNodePath , newOptionValue || curFormData ) ;
11045
+ setPathVal ( this . rootFormData , this . curNodePath , newOptionData || curFormData ) ;
11040
11046
}
11041
11047
}
11042
11048
} ,
@@ -11047,15 +11053,15 @@ var SelectLinkageField = {
11047
11053
var curNodePath = this . $props . curNodePath ;
11048
11054
var pathClassName = nodePath2ClassName ( curNodePath ) ; // object 需要保持原有属性,如果存在原有属性这里单独渲染
11049
11055
11050
- var originVnode = null ;
11056
+ var originVNode = null ;
11051
11057
var isTypeObject = this . schema . type === 'object' || this . schema . properties ;
11052
11058
11053
11059
if ( isTypeObject && ! isEmptyObject ( this . schema . properties ) ) {
11054
11060
var _class2 ;
11055
11061
11056
11062
var origSchema = Object . assign ( { } , this . schema ) ;
11057
11063
delete origSchema [ this . combiningType ] ;
11058
- originVnode = h ( SchemaField , {
11064
+ originVNode = h ( SchemaField , {
11059
11065
key : "origin_" . concat ( this . combiningType ) ,
11060
11066
class : ( _class2 = { } , _defineProperty ( _class2 , "" . concat ( this . combiningType , "_originBox" ) , true ) , _defineProperty ( _class2 , "" . concat ( pathClassName , "-originBox" ) , true ) , _class2 ) ,
11061
11067
props : _objectSpread2 ( _objectSpread2 ( { } , this . $props ) , { } , {
@@ -11066,7 +11072,7 @@ var SelectLinkageField = {
11066
11072
} // 选择附加的节点
11067
11073
11068
11074
11069
- var childrenVnodeList = [ this . getSelectBoxVnode ( ) ] ; // 当前选中的 oneOf 附加的节点
11075
+ var childrenVNodeList = [ this . getSelectBoxVNode ( ) ] ; // 当前选中的 oneOf 附加的节点
11070
11076
11071
11077
var curSelectSchema = this . selectList [ this . curSelectIndex ] ;
11072
11078
@@ -11099,7 +11105,7 @@ var SelectLinkageField = {
11099
11105
} ) , function ( key ) {
11100
11106
return key === _this2 . combiningType ? undefined : "err:" . concat ( key ) ;
11101
11107
} ) ;
11102
- childrenVnodeList . push ( h ( SchemaField , {
11108
+ childrenVNodeList . push ( h ( SchemaField , {
11103
11109
key : "appendSchema_" . concat ( this . combiningType ) ,
11104
11110
props : _objectSpread2 ( _objectSpread2 ( { } , this . $props ) , { } , {
11105
11111
schema : _objectSpread2 ( {
@@ -11113,10 +11119,10 @@ var SelectLinkageField = {
11113
11119
11114
11120
} )
11115
11121
} ) ) ;
11116
- } // oneOf 校验 vnode
11122
+ } // oneOf 校验 VNode
11117
11123
11118
11124
11119
- childrenVnodeList . push ( h ( Widget , {
11125
+ childrenVNodeList . push ( h ( Widget , {
11120
11126
class : _defineProperty ( {
11121
11127
validateWidget : true
11122
11128
} , "validateWidget-" . concat ( this . combiningType ) , true ) ,
@@ -11128,12 +11134,12 @@ var SelectLinkageField = {
11128
11134
rootFormData : this . rootFormData
11129
11135
}
11130
11136
} ) ) ;
11131
- return h ( 'div' , [ originVnode , h ( 'div' , {
11137
+ return h ( 'div' , [ originVNode , h ( 'div' , {
11132
11138
key : "appendBox_" . concat ( this . combiningType ) ,
11133
11139
class : ( _class4 = {
11134
11140
appendCombining_box : true
11135
11141
} , _defineProperty ( _class4 , "" . concat ( this . combiningType , "_appendBox" ) , true ) , _defineProperty ( _class4 , "" . concat ( pathClassName , "-appendBox" ) , true ) , _class4 )
11136
- } , childrenVnodeList ) ] ) ;
11142
+ } , childrenVNodeList ) ] ) ;
11137
11143
}
11138
11144
} ;
11139
11145
@@ -11171,8 +11177,8 @@ var OneOfField = {
11171
11177
}
11172
11178
} ;
11173
11179
11174
- /**
11175
- * Created by Liu.Jun on 2020/4/20 9:55 下午.
11180
+ /**
11181
+ * Created by Liu.Jun on 2020/4/20 9:55 下午.
11176
11182
*/
11177
11183
11178
11184
var FIELDS_MAPS = {
@@ -11632,8 +11638,8 @@ var formUtils = /*#__PURE__*/Object.freeze({
11632
11638
optionsList : optionsList
11633
11639
} ) ;
11634
11640
11635
- /**
11636
- * Created by Liu.Jun on 2020/4/16 10:47 下午.
11641
+ /**
11642
+ * Created by Liu.Jun on 2020/4/16 10:47 下午.
11637
11643
*/
11638
11644
var vueProps$1 = {
11639
11645
formFooter : {
0 commit comments