diff --git a/src/components/RangePicker/src/RangePicker.vue b/src/components/RangePicker/src/RangePicker.vue index 951c84f..9d29c0f 100644 --- a/src/components/RangePicker/src/RangePicker.vue +++ b/src/components/RangePicker/src/RangePicker.vue @@ -26,6 +26,10 @@ mainKey: String, //组件在子表中的Index tableIndex: Number, + valueType: { + default: 'Array', + type: String + } }); const formModel = inject('formModel', null); @@ -34,7 +38,7 @@ watch( () => props.value, (val: any) => { - modelValue.value = val || []; + modelValue.value = props.valueType == 'Array' ? val : val.split(','); }, { immediate: true, @@ -56,20 +60,20 @@ formModel[props.mainKey][props.tableIndex!]?.[props.startField!], formModel[props.mainKey][props.tableIndex!]?.[props.endField!], ]; - emit('update:value', emitData); + emit('update:value', props.valueType == 'Array' || !emitData ? emitData : emitData.join(',')); } else { if (props.startField && props.endField && Object.keys(formModel).length) { const emitData = !formModel[props.startField] || !formModel[props.endField] ? null : [formModel[props.startField], formModel[props.endField]]; - emit('update:value', emitData); + emit('update:value', props.valueType == 'Array' || !emitData ? emitData : emitData.join(',')); } } }); const handleChange = (time) => { - emit('update:value', time); - emit('change', time); + emit('update:value', props.valueType == 'Array' || !time ? time : time.join(',')); + emit('change', props.valueType == 'Array' || !time ? time : time.join(',')); if (formModel && props.startField && props.endField) { if (props.mainKey) { formModel[props.mainKey][props.tableIndex!][props.startField!] = time?.length