From c370079b0235a3c5fc22794ff427072739a66553 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Sat, 5 Feb 2022 22:57:50 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9D=A1=E4=BB=B6=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E8=80=81=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceImpl/NumberSelectGridServiceImpl.js | 12 +++++++++++- .../widget/serviceImpl/NumberSelectServiceImpl.js | 12 +++++++++++- .../widget/serviceImpl/TextSelectGridServiceImpl.js | 12 +++++++++++- .../widget/serviceImpl/TextSelectServiceImpl.js | 13 ++++++++++++- 4 files changed, 45 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/widget/serviceImpl/NumberSelectGridServiceImpl.js b/frontend/src/components/widget/serviceImpl/NumberSelectGridServiceImpl.js index 1ed6c1714f..e328fdbaf8 100644 --- a/frontend/src/components/widget/serviceImpl/NumberSelectGridServiceImpl.js +++ b/frontend/src/components/widget/serviceImpl/NumberSelectGridServiceImpl.js @@ -82,7 +82,7 @@ class NumberSelectGridServiceImpl extends WidgetService { }) } getParam(element) { - const value = element.options.value + const value = this.fillValueDerfault(element) const param = { component: element, value: !value ? [] : Array.isArray(value) ? value : value.toString().split(','), @@ -90,6 +90,16 @@ class NumberSelectGridServiceImpl extends WidgetService { } return param } + fillValueDerfault(element) { + const defaultV = element.options.value === null ? '' : element.options.value.toString() + if (element.options.attrs.multiple) { + if (defaultV === null || typeof defaultV === 'undefined' || defaultV === '' || defaultV === '[object Object]') return [] + return defaultV.split(',') + } else { + if (defaultV === null || typeof defaultV === 'undefined' || defaultV === '' || defaultV === '[object Object]') return null + return defaultV.split(',')[0] + } + } } const numberSelectGridServiceImpl = new NumberSelectGridServiceImpl() export default numberSelectGridServiceImpl diff --git a/frontend/src/components/widget/serviceImpl/NumberSelectServiceImpl.js b/frontend/src/components/widget/serviceImpl/NumberSelectServiceImpl.js index 813cd5099e..f561847147 100644 --- a/frontend/src/components/widget/serviceImpl/NumberSelectServiceImpl.js +++ b/frontend/src/components/widget/serviceImpl/NumberSelectServiceImpl.js @@ -83,7 +83,7 @@ class NumberSelectServiceImpl extends WidgetService { }) } getParam(element) { - const value = element.options.value + const value = this.fillValueDerfault(element) const param = { component: element, value: !value ? [] : Array.isArray(value) ? value : value.toString().split(','), @@ -91,6 +91,16 @@ class NumberSelectServiceImpl extends WidgetService { } return param } + fillValueDerfault(element) { + const defaultV = element.options.value === null ? '' : element.options.value.toString() + if (element.options.attrs.multiple) { + if (defaultV === null || typeof defaultV === 'undefined' || defaultV === '' || defaultV === '[object Object]') return [] + return defaultV.split(',') + } else { + if (defaultV === null || typeof defaultV === 'undefined' || defaultV === '' || defaultV === '[object Object]') return null + return defaultV.split(',')[0] + } + } } const numberSelectServiceImpl = new NumberSelectServiceImpl() export default numberSelectServiceImpl diff --git a/frontend/src/components/widget/serviceImpl/TextSelectGridServiceImpl.js b/frontend/src/components/widget/serviceImpl/TextSelectGridServiceImpl.js index 8775f4e42a..f65b223c05 100644 --- a/frontend/src/components/widget/serviceImpl/TextSelectGridServiceImpl.js +++ b/frontend/src/components/widget/serviceImpl/TextSelectGridServiceImpl.js @@ -82,7 +82,7 @@ class TextSelectGridServiceImpl extends WidgetService { }) } getParam(element) { - const value = element.options.value + const value = this.fillValueDerfault(element) const param = { component: element, value: !value ? [] : Array.isArray(value) ? value : value.toString().split(','), @@ -90,6 +90,16 @@ class TextSelectGridServiceImpl extends WidgetService { } return param } + fillValueDerfault(element) { + const defaultV = element.options.value === null ? '' : element.options.value.toString() + if (element.options.attrs.multiple) { + if (defaultV === null || typeof defaultV === 'undefined' || defaultV === '' || defaultV === '[object Object]') return [] + return defaultV.split(',') + } else { + if (defaultV === null || typeof defaultV === 'undefined' || defaultV === '' || defaultV === '[object Object]') return null + return defaultV.split(',')[0] + } + } } const textSelectGridServiceImpl = new TextSelectGridServiceImpl() export default textSelectGridServiceImpl diff --git a/frontend/src/components/widget/serviceImpl/TextSelectServiceImpl.js b/frontend/src/components/widget/serviceImpl/TextSelectServiceImpl.js index d5ed13d1ed..6d1faf4e85 100644 --- a/frontend/src/components/widget/serviceImpl/TextSelectServiceImpl.js +++ b/frontend/src/components/widget/serviceImpl/TextSelectServiceImpl.js @@ -82,7 +82,7 @@ class TextSelectServiceImpl extends WidgetService { } getParam(element) { - const value = element.options.value + const value = this.fillValueDerfault(element) const param = { component: element, value: !value ? [] : Array.isArray(value) ? value : value.toString().split(','), @@ -90,6 +90,17 @@ class TextSelectServiceImpl extends WidgetService { } return param } + + fillValueDerfault(element) { + const defaultV = element.options.value === null ? '' : element.options.value.toString() + if (element.options.attrs.multiple) { + if (defaultV === null || typeof defaultV === 'undefined' || defaultV === '' || defaultV === '[object Object]') return [] + return defaultV.split(',') + } else { + if (defaultV === null || typeof defaultV === 'undefined' || defaultV === '' || defaultV === '[object Object]') return null + return defaultV.split(',')[0] + } + } } const textSelectServiceImpl = new TextSelectServiceImpl() export default textSelectServiceImpl