You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

React+Ant Design:如何创建不同尺寸输入框?代码尝试后无效

在React里用Ant Design做不同尺寸输入框的正确方法

嘿,我看你已经尝试用size属性来设置输入框大小,但所有输入框显示都一样对吧?这情况一般是两个原因:要么是Ant Design版本的问题,要么是你的自定义样式不小心覆盖了组件默认样式。

先确认你的Ant Design版本

Ant Design从v4开始,Input组件的size属性是完全支持large/default/small这三个值的。如果你的版本是v3或者更早,写法虽然类似,但可能会有兼容性问题,更建议你升级到v4或v5的稳定版本。

你可以打开项目里的package.json,看看antd的版本号:

"antd": "^4.24.0" // 或者更高的v5版本都可以

给你一个能正常运行的完整示例

我写了一个简单的Demo,你可以直接参考,复制过去就能看到不同尺寸的输入框:

import React from 'react';
import { Input } from 'antd';
import { UserOutlined } from '@ant-design/icons';

const InputSizeDemo = () => {
  return (
    <div style={{ display: 'flex', flexDirection: 'column', gap: '16px', padding: '20px' }}>
      <Input size="large" placeholder="Username" prefix={<UserOutlined />} />
      <Input placeholder="Default size" />
      <Input size="large" placeholder="Password" />
      <Input size="small" placeholder="Small size" />
    </div>
  );
};

export default InputSizeDemo;

如果还是不行,排查样式覆盖问题

要是版本没问题,但输入框尺寸还是一样,那大概率是你的自定义样式或者全局样式把Ant Design的默认样式覆盖了:

  • 检查有没有写过类似.ant-input的全局CSS,是不是硬设置了固定的height或者padding
  • 看看是不是用了Tailwind CSS或者CSS Modules这类工具,不小心把组件的默认样式冲掉了
  • 打开浏览器的开发者工具,选中输入框元素,看看heightpadding这些属性是不是被划掉(说明被覆盖了)

额外提一句Ant Design v5的小技巧

如果你用的是v5版本,除了size属性,还可以直接用style自定义更灵活的尺寸,比如:

<Input style={{ height: '52px', fontSize: '19px' }} placeholder="自定义大小的输入框" />

按照上面的方法调整后,应该就能看到不同尺寸的输入框啦!

内容的提问来源于stack exchange,提问作者CuteBoy

火山引擎 最新活动