前端项目实战110-创建时间日历的组件笔记

import React, { useState, useEffect, useCallback, memo } from 'react';
import {Modal, Input, message, Form, Calendar} from 'antd';
import {useHolidayDetailAddMutation} from '@/restapi/service/workCalendar/workCalendar'
import locale from 'antd/lib/calendar/locale/zh_CN'
import moment from 'moment';
import 'moment/locale/zh-cn';
import postGrest from "@/redux/postgrest";
moment.locale('zh-cn')
const AddOrEditMenu: React.FC<any> = (props) =>{
    const { specModalData, visible } = props;
    const [holidayDetailAdd] = useHolidayDetailAddMutation()
    const [form] = Form.useForm();
    const onOk = useCallback(() => {
        form.validateFields().then(res => {
            const obj:any = {}
            obj.holiday_id = specModalData.id
            //后台说要传special_type = 1去计算某些东西
            obj.special_type = 1
            obj.special_date = moment(res.special_date).format('YYYY-MM-DD')
            postGrest().create('t_base_holiday_detail',{data:obj}).then((response:any)=>{
                if(!response.code){
                    message.success("创建成功")
                    props.onConfirm();
                }else{
                    message.warning(response.message)
                }
            })
        });
    }, []);

    useEffect(() => {
        //默认选中问题
           form.setFieldsValue({...props.specModalData,special_date:moment(new Date())})
    }, []);

    return (
        <Modal
            maskClosable={false}
            visible={visible}
            title={`${specModalData && specModalData.id ? '编辑' : '新增'}`}
            onCancel={props.onClose}
            onOk={onOk}
            width={1000}
        >
            <Form
                style={{marginTop:'10px'}}
                form={form}
                labelCol={{
                    sm: { span: 3 },
                }}
                wrapperCol={{
                    sm: { span: 20 },
                }}
            >
                <Form.Item
                    label="所属公休日"
                    name="holiday"
                    rules={[{ required: true, message: '请输入所属公休日' }]}
                >
                    <Input readOnly/>
                </Form.Item>

                <Form.Item
                    label="休息日"
                    name="special_date"
                    rules={[{ required: true, message: '请选择休息日' }]}
                >
                    <Calendar locale={locale}/>
                </Form.Item>
            </Form>
        </Modal>
    );
}

export default memo(AddOrEditMenu);

日历的显示

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值