diff --git a/components/form/FormItem/ItemHolder.tsx b/components/form/FormItem/ItemHolder.tsx index 3f9af59c35d4..d338594325cb 100644 --- a/components/form/FormItem/ItemHolder.tsx +++ b/components/form/FormItem/ItemHolder.tsx @@ -186,8 +186,8 @@ export default function ItemHolder(props: ItemHolderProps) { {/* Label */} diff --git a/components/form/FormItem/index.tsx b/components/form/FormItem/index.tsx index 4c0612c18e02..bca2f3d28991 100644 --- a/components/form/FormItem/index.tsx +++ b/components/form/FormItem/index.tsx @@ -51,7 +51,7 @@ const MemoInput = React.memo( ); export interface FormItemProps - extends FormItemLabelProps, + extends Omit, FormItemInputProps, RcFieldProps { prefixCls?: string; diff --git a/components/form/FormItemLabel.tsx b/components/form/FormItemLabel.tsx index 89f01ab0b8cc..a8f4dace0edd 100644 --- a/components/form/FormItemLabel.tsx +++ b/components/form/FormItemLabel.tsx @@ -38,6 +38,9 @@ export interface FormItemLabelProps { label?: React.ReactNode; labelAlign?: FormLabelAlign; labelCol?: ColProps; + /** + * @internal Used for pass `requiredMark` from `
` + */ requiredMark?: RequiredMark; tooltip?: LabelTooltipType; } diff --git a/components/form/__tests__/index.test.tsx b/components/form/__tests__/index.test.tsx index e7a9cc3860c5..346e0504675b 100644 --- a/components/form/__tests__/index.test.tsx +++ b/components/form/__tests__/index.test.tsx @@ -1797,4 +1797,29 @@ describe('Form', () => { expect(onChange).toHaveBeenNthCalledWith(idx++, 'validating'); expect(onChange).toHaveBeenNthCalledWith(idx++, 'success'); }); + + // https://user-images.githubusercontent.com/32004925/230819163-464fe90d-422d-4a6d-9e35-44a25d4c64f1.png + it('should not render `requiredMark` when Form.Item has no required prop', () => { + // Escaping TypeScript error + const genProps = (value: any) => ({ ...value }); + + const { container } = render( + + + + + + + +
, + ); + + expect(container.querySelectorAll('.ant-form-item-required')).toHaveLength(2); + expect(container.querySelectorAll('.ant-form-item-required-mark-optional')).toHaveLength(2); + }); });