DurationDays.jsx 1.17 KB
Newer Older
DarkForst's avatar
DarkForst committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
import React, { useState } from 'react';
import { Form, Select, InputNumber } from 'antd';

const { Option } = Select;

const DurationDays = (props) => {
    const { value = {}, onChange } = props
    const limitNumber = value => {
        return value.replace(/^(0+)|[^\d]+/g, '')
    }
    const [date, setDate] = useState();
    const triggerChange = (changedValue) => {
        onChange?.({
            date,
            ...value,
            ...changedValue,
        });
    };

    const onDateChange = (values) => {
        if (values) {
            setDate(values);
        } else {
            setDate();
        }

        triggerChange({
            date: values,
        });
    };

    return (
        <div style={{ display: 'flex', alignItems: 'center' }}>
            <InputNumber
                value={value.date || date}
                formatter={limitNumber}
                parser={limitNumber}
                onChange={onDateChange}
                placeholder={props?.placeholder || "请输入任务持续天数"}
                style={{ flex: 1 }}
            />
            <span style={{ paddingLeft: 16 }}></span>
        </div>
    );
}

export default DurationDays;