文本框API
React TextField 组件的 API 参考文档。了解此导出模块的属性、CSS 和其他 API。
演示
导入
import TextField from '@mui/material/TextField';
// or
import { TextField } from '@mui/material';
通过阅读此关于最小化 bundle 大小的指南,了解它们之间的区别。
TextField
是最常见情况(80%)的便捷封装器。它不可能满足所有人的需求,否则 API 将会失控。
高级配置
重要的是要理解,文本框是以下组件之上的简单抽象
如果您希望更改应用于 input
元素的属性,您可以按如下方式操作
const inputProps = {
step: 300,
};
return <TextField id="time" type="time" inputProps={inputProps} />;
对于高级用例,请点击上方“编辑此页面”按钮查看 TextField 的源代码。考虑以下任一方法:
- 使用大写属性将值直接传递给组件
- 直接使用演示中所示的底层组件
FormControl 组件的属性也可用。
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
autoComplete | string | - | 此属性帮助用户更快地填写表单,尤其是在移动设备上。名称可能会造成混淆,因为它更像是自动填充。您可以按照规范了解更多信息。 |
autoFocus | bool | false | 如果为 |
classes | object | - | 覆盖或扩展应用于组件的样式。 有关更多详细信息,请参阅下面的 CSS 类 API。 |
color | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' | string | 'primary' | 组件的颜色。它支持默认主题颜色和自定义主题颜色,可以按照调色板自定义指南中所示的方式添加。 |
defaultValue | any | - | 默认值。当组件不受控制时使用。 |
disabled | bool | false | 如果为 |
error | bool | false | 如果为 |
FormHelperTextProps | object | - | 应用于 |
fullWidth | bool | false | 如果为 |
helperText | node | - | 辅助文本内容。 |
id | string | - |
|
InputLabelProps | object | - | 应用于 |
inputProps | object | - | 属性应用于 |
InputProps | object | - | 应用于 Input 元素的属性。根据 |
inputRef | ref | - | 将 ref 传递给 |
label | node | - | 标签内容。 |
margin | 'dense' | 'none' | 'normal' | 'none' | 如果为 |
maxRows | number | string | - | 当 multiline 选项设置为 true 时,要显示的最大行数。 |
minRows | number | string | - | 当 multiline 选项设置为 true 时,要显示的最小行数。 |
multiline | bool | false | 如果为 |
name | string | - |
|
onChange | func | - | 当值更改时触发的回调。 签名: function(event: object) => void
|
placeholder | string | - | 用户输入值之前显示在 |
required | bool | false | 如果为 |
rows | number | string | - | 当 multiline 选项设置为 true 时,要显示的行数。 |
select | bool | false | 渲染 |
SelectProps | object | - | 应用于 |
size | 'medium' | 'small' | string | 'medium' | 组件的大小。 |
slotProps | { formHelperText?: func | object, htmlInput?: func | object, input?: func | object, inputLabel?: func | object, select?: func | object } | {} | 用于每个插槽的属性。 |
slots | { formHelperText?: elementType, htmlInput?: elementType, input?: elementType, inputLabel?: elementType, root?: elementType, select?: elementType } | {} | 用于每个插槽的组件。 |
sx | Array<func | object | bool> | func | object | - | 允许定义系统覆盖以及其他 CSS 样式的系统属性。 有关更多详细信息,请参阅 `sx` 页面。 |
type | string | - |
|
value | any | - |
|
variant | 'filled' | 'outlined' | 'standard' | 'outlined' | 要使用的变体。 |
继承
虽然上面没有明确记录,但 FormControl 组件的属性在 TextField 中也可用。您可以利用它来定位嵌套组件。
主题默认属性
您可以使用 MuiTextField
通过主题更改此组件的默认属性。
插槽名称 | 类名 | 默认组件 | 描述 |
---|---|---|---|
root | .MuiTextField-root | 表单控件 | 渲染根元素的组件。 |
input | 轮廓输入框 | 渲染 input 的组件。 | |
inputLabel | 输入框标签 | 渲染 input 标签的组件。 | |
htmlInput | 'input' | html input 元素。 | |
formHelperText | 表单辅助文本 | 渲染辅助文本的组件。 | |
select | 选择器 | 渲染 select 的组件。 |
源代码
如果您在此页面中没有找到所需信息,请考虑查看组件的实现以获取更多详细信息。