使用antd中原生组件实现获取数字范围的组件

在antd中,我们可以找到选择时间段的组件,如下图所示:

然后在我的项目中需要一个年龄筛选,我计划使用一个这样的输入框,用来表示年龄的范围,但是没有在antd中找到,于是就结合其他原生组件写了一个同等功能的组件,样式如图:

/*
*Row用于定义行
*Col用于定义列,并通过align="middle"来对齐内容
*/
<Row align="middle">
    <Col>
        <InputNumber min={0} max={100} placeholder="最小值" />//年龄最小值为0,最大为100,可根据自己需要来修改
    </Col>
    <Col>
        <div style={{ padding: '0 8px 25px' }}>~</div>
    </Col>
    <Col>
        <InputNumber min={0} max={100} placeholder="最大值" />
    </Col>
</Row>

上述代码只是数字范围的基础代码,下方是加入form后的完整代码:

//除了组件,还写了部分css用于适配原生的Form.Item
import { Form, Row, Col, InputNumber } from 'antd';

()=>{
    const onFinish = (values: any) => {
        console.log('点击提交:', values);
    };

    return (
        <Form
    form={form1}
    name="basic"
    labelCol={{ span: 8 }}
    wrapperCol={{ span: 16 }}
    style={{ maxWidth: "100%", padding: "20px", display: "flex", alignItems: 'center', 
justifyContent: "space-between", flexWrap: 'wrap' }}
    initialValues={{ remember: true }}
    onFinish={onFinish}
    autoComplete="off"
>
    <div style={{ gridColumn: "1 /3" }}>
        <Row align="middle">
            <Col>
                <Form.Item
                    label="年龄"
                    style={{ marginLeft: "25px" }}
                    name="ageStart"
                >
                    <InputNumber min={0} max={100} placeholder="最小值" />
                </Form.Item>
            </Col>
            <Col>
                <div style={{ padding: '0 8px 25px' }}>~</div>
            </Col>
            <Col>
                <Form.Item
                    name="ageEnd"
                >
                    <InputNumber min={0} max={100} placeholder="最大值" />
                </Form.Item>
            </Col>
        </Row>
    </div>
    <div style={{ display: 'flex' }}>
        <Form.Item wrapperCol={{ offset: 8, span: 16 }}>
            <Button type="primary" htmlType="submit">
                查询
            </Button>
        </Form.Item>
        &nbsp;&nbsp;
        <Form.Item wrapperCol={{ offset: 8, span: 16 }}>
            <Button type="primary" onClick={() => {
                form1.resetFields()
                setIsSearch(false)
                setRefresh(++refresh)
            }}>
                清空
            </Button>
        </Form.Item>
    </div>
</Form>
    )
}

 引入上述代码就可以正常使用该输入框

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值