Ant Design ProTable 搜索框设置默认值

最近遇到一个需求,需要在ProTable搜索框的时间周期设置默认开始时间和结束时间,并调用接口返回数据显示。

实现思路:
  1. 创建formRef来设置ProTable里面搜索的默认值;
  2. 通过moment来获取当前月的第一天和最后一天;
  3. 通过formRef.current?.setFieldsValue赋值给created_at
  4. 通过formRef.current.submit()调用接口,渲染页面;
实现该需求的必要代码:
import React, { useState, useEffect, useRef } from 'react';
import ProTable from '@ant-design/pro-table';
import { getList } from './service';
import moment from 'moment';
const columns = [
    {
        title: '时间周期',
        dataIndex: 'created_at',
        valueType: 'dateTimeRange',
        hideInTable: true,
        search: {
            transform: (value) => {
                return {
                    start_time: value[0],
                    end_time: value[1],
                };
            },
        },
    },
]
const formRef = useRef();
const curMonth = [
    moment().startOf('month').format('YYYY-MM-DD HH:mm:ss'),
    moment().endOf('month').format('YYYY-MM-DD HH:mm:ss'),
];
useEffect(() => {
    formRef.current?.setFieldsValue({
        created_at: curMonth,
    });
    formRef.current?.submit();
});

return (
    <>
        <ProTable
            columns={columns}
            request={getList}
            rowKey="id"
            formRef={formRef}
        />
    </>
)

使用时遇到问题可以给我留言

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值