Skip to content

Commit d55d1f5

Browse files
committed
fix: form validateStatus icon not work #321
1 parent 3393f0e commit d55d1f5

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

components/form/FormItem.jsx

+27-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import { initDefaultProps, getComponentFromProp, filterEmpty, getSlotOptions, is
1010
import getTransitionProps from '../_util/getTransitionProps'
1111
import BaseMixin from '../_util/BaseMixin'
1212
import { cloneElement, cloneVNodes } from '../_util/vnode'
13+
import Icon from '../icon'
14+
1315
export const FormItemProps = {
1416
id: PropTypes.string,
1517
prefixCls: PropTypes.string,
@@ -204,9 +206,33 @@ export default {
204206
'is-validating': validateStatus === 'validating',
205207
})
206208
}
209+
let iconType = ''
210+
switch (validateStatus) {
211+
case 'success':
212+
iconType = 'check-circle'
213+
break
214+
case 'warning':
215+
iconType = 'exclamation-circle'
216+
break
217+
case 'error':
218+
iconType = 'close-circle'
219+
break
220+
case 'validating':
221+
iconType = 'loading'
222+
break
223+
default:
224+
iconType = ''
225+
break
226+
}
227+
const icon = (props.hasFeedback && iconType)
228+
? <span class={`${props.prefixCls}-item-children-icon`}>
229+
<Icon type={iconType} theme={iconType === 'loading' ? 'outlined' : 'filled'} />
230+
</span> : null
207231
return (
208232
<div class={classes}>
209-
<span class={`${props.prefixCls}-item-children`}>{c1}</span>
233+
<span class={`${props.prefixCls}-item-children`}>
234+
{c1}{icon}
235+
</span>
210236
{c2}{c3}
211237
</div>
212238
)

0 commit comments

Comments
 (0)