Skip to main content
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