Material UI 5 学习03-Text Field文本输入框

文章介绍了MUI库中TextField组件的基础示例、表单属性如required、defaultValue、disabled等,以及验证功能,同时展示了如何创建多行文本输入。详细讲解了不同variant类型和一些关键属性的用法。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、最基本的本文输入框

1、基础示例

import {Box, TextField} from "@mui/material";
function App() {
    return (
        <Box sx={{'& > :not(style)': {m: 1, width: '25ch'}}}>
            <TextField id="outlined-basic" label="我的输入框" variant="outlined"/>
            <TextField id="filled-basic" label="Filled" variant="filled"/>
            <TextField id="standard-basic" label="Standard" variant="standard"/>
        </Box>
    );
}

export default App;

上面的Box是布局容器,sx是属性是用来定义组件的直接子元素的样式。‘& > :not(style)’ 选择的是当前组件(由&引用)的直接子元素,但不包括style标签。所以他的子元素外边距是1,宽度是25ch。
在这里插入图片描述
variant=“outlined” 表示由外边框
variant=“filled” 默认填充
variant=“standard” 默认只有下边框

label属性除了给Text Field输入框有默认值外,在点击鼠标的时候,输入框右上角也会显示:
在这里插入图片描述

2、一些表单属性

import {Box, TextField} from "@mui/material";


function App() {
    return (
        <Box
            component="form"
            sx={{
                '& .MuiTextField-root': { m: 1, width: '25ch' },
            }}
            noValidate
            autoComplete="off"
        >
            <div>
                <TextField required id="outlined-required" label="必填" defaultValue="你好"/>
                <TextField disabled id="outlined-disabled" label="禁用" defaultValue="你好"/>
                <TextField id="outlined-password-input" label="密码" type="password" autoComplete="current-password"/>
                <TextField id="outlined-read-only-input" label="只读" defaultValue="Hello World" InputProps={{readOnly: true}}/>
                <TextField id="outlined-number" label="数字类型" type="number" InputLabelProps={{shrink: true,}}/>
                <TextField id="outlined-search" label="搜索字段" type="search" />
                <TextField id="outlined-helperText" label="提示文本" defaultValue="默认值" helperText="提示文本"/>
            </div>

        </Box>

    );
}

export default App;

1、required 属性的意思是必填
2、defaultValue属性是默认值
3、label属性是右上角输入的文字
4、InputProps={{readOnly: true}}表示只读
5、type=“number” 表示数字类型
其它的属性暂时不知道啥意思。
在这里插入图片描述

3、验证

<TextField error id="outlined-error" label="Error" defaultValue="你好"/>
<TextField error id="outlined-error-helper-text" label="Error" defaultValue="你好" helperText="不正确的输入"/>

在这里插入图片描述
error 属性加上就表示验证错误。helperText 向用户提供有关错误的反馈。

二、多行文本

只要给TextField 加上multiline这个属性,就可以输入多行内容。也可以设置默认的行数。 maxRows={行数},设置默认的行数,超过此行就会显示这么多行。没有加maxRows这个属性,就表示可以全部显示行数。rows={行数}显示默认的行数。就是一开始的状态,最大也显示这么多行。

   			<div>
                <TextField
                    id="outlined-multiline-flexible"
                    label="多行文本,最大显示4行"
                    multiline
                    maxRows={4}
                />
                <TextField
                    id="outlined-textarea"
                    label="多行文本"
                    placeholder="Placeholder"
                    multiline
                />
                <TextField
                    id="outlined-multiline-static"
                    label="多行文本,默认4行"
                    multiline
                    rows={4}
                    defaultValue="Default Value"
                />
            </div>

在这里插入图片描述
上图是一开始的状态,我们输入5行测试一下
在这里插入图片描述
第一个输入5行,显示4行
第二个全部显示
第三个和第一个相同,但是刚开始的高度是4行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值