antd-design Form,Select联合使用 placeholder 不起作用问题

antd-design Form,Select联合使用 placeholder 不起作用问题

起因

  • 最近在用antd写表单的时候遇到个问题:Form,Select组件一起使用时,设置Select组件的placeholder属性并没有起作用。如下图:
    image

    image

    发现Select组件的placeholder属性并没有起作用。

排查

  • 对照官方文档看了一下官方的代码

          {getFieldDecorator('gender', {
            rules: [{ required: true, message: 'Please select your gender!' }],
          })(
            
          )}
        
  • 发现跟自己的代码唯一的区别就是我这里设置了这个表单项的initialValue属性,官方文档是这样讲的:

    image

  • 对表单内的组件使用onChange合成事件不介意使用setState以及value为组件绑定值,介意使用initialValue设置初始化值。所以我这里写的也是没问题的。

  • 没办法了呀,遇到这种莫名其妙的问题只能去antd-github-issues去找有没有人提出过相同的问题了,搜了一下发现还真有!!!

image
  • 修改自己的代码之后

            {getFieldDecorator('certType', {
              initialValue: publicAccount.certType ? publicAccount.certType : undefined,
              rules: [{ required: true, message: '请选择证件类型' }],
            })(
              ,
            )}
          
image

补充:

  • 来自antd issuesSelect 控件为什么会把 null 当做有 value 而不显示 placeholder ,必须要为 undefined 才可以?

你可能感兴趣的:(antd-design Form,Select联合使用 placeholder 不起作用问题)