55 *--------------------------------------------------------------------------------------------*/
66
77import PropTypes from 'prop-types' ;
8- import { Col , Form , Row } from 'antd' ;
8+ import { Col , Form , InputNumber , Row , Switch } from 'antd' ;
99import { useTranslation } from 'react-i18next' ;
1010import { JadeInput } from '@/components/common/JadeInput.jsx' ;
1111import { DATA_TYPES , FROM_TYPE } from '@/common/Consts.js' ;
@@ -64,6 +64,47 @@ export const FormItemSelectValue = ({item, shapeStatus, onChange, label, inputRe
6464 } , { key : 'value' , value : e . value } , { key : 'type' , value : e . type } ] ) ;
6565 } ;
6666
67+ const renderInputValueComponent = ( item ) => {
68+ switch ( item . type ) {
69+ case DATA_TYPES . BOOLEAN :
70+ return < Switch
71+ disabled = { shapeStatus . disabled }
72+ style = { { marginLeft : '8px' } }
73+ onChange = { ( e ) => onInputChange ( 'value' , e ) }
74+ checked = { item . value } /> ;
75+ case DATA_TYPES . INTEGER :
76+ return < InputNumber
77+ className = "jade-input"
78+ disabled = { shapeStatus . disabled }
79+ step = { 1 }
80+ precision = { 0 }
81+ parser = { ( value ) => value . replace ( / [ ^ \d - ] / g, '' ) } // 只允许输入整数部分
82+ onChange = { ( e ) => onInputChange ( 'value' , e ) }
83+ stringMode
84+ value = { item . value }
85+ /> ;
86+ case DATA_TYPES . NUMBER :
87+ return < InputNumber
88+ className = "jade-input"
89+ disabled = { shapeStatus . disabled }
90+ step = { 1 }
91+ onChange = { ( e ) => onInputChange ( 'value' , e ) }
92+ stringMode
93+ value = { item . value }
94+ /> ;
95+ case DATA_TYPES . STRING :
96+ default :
97+ return < JadeInput
98+ disabled = { shapeStatus . disabled }
99+ className = "jade-input"
100+ style = { { borderRadius : '0px 8px 8px 0px' } }
101+ placeholder = { t ( 'plsEnter' ) }
102+ value = { item . type === DATA_TYPES . ARRAY || item . type === DATA_TYPES . OBJECT ? JSON . stringify ( item . value ) : item . value }
103+ onChange = { ( e ) => onInputChange ( 'value' , e ) }
104+ /> ;
105+ }
106+ } ;
107+
67108 /* 获取值field. */
68109 const getValueField = ( ) => {
69110 if ( item . from === FROM_TYPE . INPUT ) {
@@ -76,14 +117,7 @@ export const FormItemSelectValue = ({item, shapeStatus, onChange, label, inputRe
76117 initialValue = { item . type === DATA_TYPES . ARRAY || item . type === DATA_TYPES . OBJECT ? JSON . stringify ( item . value ) : item . value }
77118 validateTrigger = 'onBlur'
78119 >
79- < JadeInput
80- disabled = { shapeStatus . disabled }
81- className = 'jade-input'
82- style = { { borderRadius : '0px 8px 8px 0px' } }
83- placeholder = { t ( 'plsEnter' ) }
84- value = { item . type === DATA_TYPES . ARRAY || item . type === DATA_TYPES . OBJECT ? JSON . stringify ( item . value ) : item . value }
85- onChange = { ( e ) => onInputChange ( 'value' , e ) }
86- />
120+ { renderInputValueComponent ( item ) }
87121 </ Form . Item > ;
88122 } else if ( item . from === FROM_TYPE . REFERENCE ) {
89123 return < JadeReferenceTreeSelect
0 commit comments