Skip to contentSkip to content

InputAPI

React Input 组件的 API 参考文档。了解此导出模块的 props、CSS 和其他 API。

演示

导入

import Input from '@mui/material/Input';
// or
import { Input } from '@mui/material';

通过阅读关于最小化 bundle size 的指南,了解它们之间的区别。

Props

InputBase 组件的 Props 也可用。

名称类型默认值描述
autoCompletestring-

此 prop 帮助用户更快地填写表单,尤其是在移动设备上。名称可能会令人困惑,因为它更像是自动填充。您可以遵循规范了解更多信息。

autoFocusbool-

如果为 true,则在首次挂载期间 input 元素会获得焦点。

classesobject-

覆盖或扩展应用于组件的样式。

有关更多详细信息,请参见下方的CSS 类 API

color'primary'
| 'secondary'
| string
-

组件的颜色。它支持默认主题颜色和自定义主题颜色,可以按照调色板自定义指南中所示的方式添加。此 prop 默认为从父 FormControl 组件继承的值 ('primary')。

components{ Input?: elementType, Root?: elementType }{}

用于内部每个插槽的组件。

componentsProps{ input?: object, root?: object }{}

插槽组件的额外 props。您可以覆盖现有 props 或添加新的 props。

defaultValueany-

默认值。当组件不受控制时使用。

disabledbool-

如果为 true,则组件被禁用。此 prop 默认为从父 FormControl 组件继承的值 (false)。

disableUnderlineboolfalse

如果为 true,则 input 将没有下划线。

endAdornmentnode-

此组件的结尾 InputAdornment

errorbool-

如果为 true,则 input 将指示错误。此 prop 默认为从父 FormControl 组件继承的值 (false)。

fullWidthboolfalse

如果为 true,则 input 将占据其容器的完整宽度。

idstring-

input 元素的 id。

inputComponentelementType'input'

用于 input 元素的组件。可以是用于 HTML 元素的字符串或组件。

inputPropsobject{}

Attributes 应用于 input 元素。

inputRefref-

将 ref 传递给 input 元素。

margin'dense'
| 'none'
-

如果为 dense,将调整垂直间距。这通常通过 FormControl 的上下文获得。此 prop 默认为从父 FormControl 组件继承的值 ('none')。

maxRowsnumber
| string
-

当 multiline 选项设置为 true 时,要显示的最大行数。

minRowsnumber
| string
-

当 multiline 选项设置为 true 时,要显示的最小行数。

multilineboolfalse

如果为 true,则渲染 TextareaAutosize 元素。

namestring-

input 元素的 Name 属性。

onChangefunc-

当值更改时触发的回调。

签名:function(event: React.ChangeEvent) => void
  • event 回调的事件源。您可以通过访问 event.target.value (字符串) 拉取新值。
placeholderstring-

在用户输入值之前,input 中显示的简短提示。

readOnlybool-

它阻止用户更改字段的值(而不是与字段交互)。

requiredbool-

如果为 true,则 input 元素为必需。此 prop 默认为从父 FormControl 组件继承的值 (false)。

rowsnumber
| string
-

当 multiline 选项设置为 true 时,要显示的行数。

slotProps{ input?: object, root?: object }{}

插槽组件的额外 props。您可以覆盖现有 props 或添加新的 props。
此 prop 是 componentsProps prop 的别名,该 prop 将在未来被弃用。

slots{ input?: elementType, root?: elementType }{}

用于内部每个插槽的组件。
此 prop 是 components prop 的别名,该 prop 将在未来被弃用。

startAdornmentnode-

此组件的起始 InputAdornment

sxArray<func
| object
| bool>
| func
| object
-

系统 prop,允许定义系统覆盖以及其他 CSS 样式。

有关更多详细信息,请参见 `sx` 页面

typestring'text'

input 元素的类型。它应该是有效的 HTML5 input 类型

valueany-

input 元素的值,受控组件必需。

ref 被转发到根元素。

继承

虽然上面没有明确文档说明,但 InputBase 组件的 props 在 Input 中也可用。您可以利用这一点来定位嵌套组件

主题默认 props

您可以使用 MuiInput 通过主题更改此组件的默认 props。

CSS 类

这些类名对于使用 CSS 进行样式设置很有用。当特定状态被触发时,它们会被应用于组件的插槽。

类名规则名称描述
.Mui-disabled如果 disabled={true},则应用于根元素的样式。
.Mui-error如果 error={true},则应用于根元素的状态类。
.Mui-focused如果组件获得焦点,则应用于根元素的样式。
.MuiInput-colorSecondarycolorSecondary如果颜色为 secondary,则应用于根元素的样式。
.MuiInput-formControlformControl如果组件是 FormControl 的后代,则应用于根元素的样式。
.MuiInput-fullWidthfullWidth如果 fullWidth={true},则应用于根元素的样式。
.MuiInput-inputinput应用于 input 元素的样式。
.MuiInput-inputAdornedEndinputAdornedEnd如果提供了 endAdornment,则应用于 input 元素的样式。
.MuiInput-inputAdornedStartinputAdornedStart如果提供了 startAdornment,则应用于 input 元素的样式。
.MuiInput-inputMultilineinputMultiline如果 multiline={true},则应用于 input 元素的样式。
.MuiInput-inputSizeSmallinputSizeSmall如果 size="small",则应用于 input 元素的样式。
.MuiInput-inputTypeSearchinputTypeSearch如果 type="search",则应用于 input 元素的样式。
.MuiInput-multilinemultiline如果 multiline={true},则应用于根元素的样式。
.MuiInput-rootroot应用于根元素的样式。
.MuiInput-sizeSmallsizeSmall如果 size="small",则应用于 input 元素的样式。
.MuiInput-underlineunderline除非 disableUnderline={true},否则应用于根元素的样式。

您可以使用以下自定义选项之一覆盖组件的样式

源代码

如果您在此页面中没有找到所需的信息,请考虑查看组件的实现以获取更多详细信息。