Skip to main content
Refine AI
Version: 4.xx.xx
Swizzle Ready

Import

<ImportButton> is compatible with the useImport hook and is meant to be used as it's upload button.

It uses Ant Design's <Button> and <Upload> components. It wraps a <Button> component with an <Upload> component and accepts properties for <Button> and <Upload> components separately.

Good to know:

You can swizzle this component to customize it with the Refine CLI

Usage

localhost:3000
import {
List,
useTable,
useImport,
ImportButton,
} from "@refinedev/antd";
import { Table } from "antd";

const PostList: React.FC = () => {
const { tableProps } = useTable<IPost>();

const importProps = useImport<IPostFile>();

return (
<List
headerButtons={
<ImportButton {...importProps} />
}
>
<Table {...tableProps} rowKey="id">
<Table.Column dataIndex="id" title="ID" />
<Table.Column dataIndex="title" title="Title" />
</Table>
</List>
);
};

interface IPost {
id: number;
title: string;
}

interface IPostFile {
title: string;
categoryId: number;
}

Properties

hideText

hideText is used to hide the text of the button. When its true, only the button icon will be visible.

localhost:3000
import { ImportButton, useImport } from "@refinedev/antd";

const MyImportComponent = () => {
const importProps = useImport();

return (
<ImportButton
{...importProps}
hideText
/>
);
};

API Reference

Properties

PropertyTypeDescriptionDefault
hideText

boolean

Whether should hide the text and show only the icon or not.

false

loading

boolean

Set the loading status of button

uploadProps

Sets the button type

buttonProps

Sets props of the button