List
<ListButton>
is using Ant Design's <Button>
component. It uses the list
method from useNavigation
under the hood. It can be useful when redirecting the app to the list page route of resource.
Usage
import {
useShow,
Show,
Typography,
ListButton,
} from "@pankod/refine";
const { Title, Text } = Typography;
export const PostShow: React.FC = () => {
const { queryResult } = useShow<IPost>();
const { data, isLoading } = queryResult;
const record = data?.data;
return (
<Show pageHeaderProps={{ extra: <ListButton /> }} isLoading={isLoading}>
<Title level={5}>Id</Title>
<Text>{record?.id}</Text>
<Title level={5}>Title</Title>
<Text>{record?.title}</Text>
</Show>
);
};
interface IPost {
id: string;
title: string;
}
Will look like this:
The button text is defined automatically by refine based on resource object name property.
Properties
resourceName
Redirection endpoint(resourceName/list
) is defined by resourceName
property. By default, <ListButton>
uses name
property of the resource object as the endpoint to redirect after clicking.
import { ListButton } from "@pankod/refine";
export const MyListComponent = () => {
return <ListButton resourceName="categories" />;
};
Clicking the button will trigger the list
method of useNavigation
and then redirect to /categories
.
hideText
It is used to show and not show the text of the button. When true
, only the button icon is visible.
import { ListButton } from "@pankod/refine";
export const MyListComponent = () => {
return <ListButton hideText />;
};
ignoreAccessControlProvider
It is used to skip access control for the button so that it doesn't check for access control. This is relevant only when an accessControlProvider
is provided to <Refine/>
import { ListButton } from "@pankod/refine";
export const MyListComponent = () => {
return <ListButton ignoreAccessControlProvider />;
};
API Reference
Properties
Property | Description | Type | Default |
---|---|---|---|
props | Ant Design button properties | ButtonProps & { resourceName?: string; hideText?: boolean; } | |
resourceName | Determines which resource to use for redirection | string | Resource name that it reads from route |
hideText | Allows to hide button text | boolean | false |
ignoreAccessControlProvider | Skip access control | boolean | false |
children | Sets the button text | ReactNode | Humanized resource name that it reads from route |
icon | Sets the icon component of button | ReactNode | <BarsOutlined /> |
onClick | Sets the handler to handle click event | (event) => void | Triggers navigation for redirection to the list page of resource |