documentation/docs/ui-integrations/ant-design/hooks/use-table/_partial-use-table-basic-usage-live-preview.md
body {
padding: 4px;
background: white;
}
setInitialRoutes(["/posts"]);
// visible-block-start
import { HttpError } from "@refinedev/core";
import { List, TagField, useTable } from "@refinedev/antd";
import { Table } from "antd";
interface IPost {
id: number;
title: string;
content: string;
status: "published" | "draft" | "rejected";
}
const PostList: React.FC = () => {
const { tableProps } = useTable<IPost, HttpError>();
return (
<List>
<Table {...tableProps} rowKey="id">
<Table.Column dataIndex="id" title="ID" />
<Table.Column dataIndex="title" title="Title" />
<Table.Column dataIndex="content" title="Content" />
<Table.Column
dataIndex="status"
title="Status"
render={(value: string) => <TagField value={value} />}
/>
</Table>
</List>
);
};
// visible-block-end
render(
<ReactRouter.BrowserRouter>
<RefineAntdDemo
resources={[
{
name: "posts",
list: "/posts",
},
]}
>
<ReactRouter.Routes>
<ReactRouter.Route
path="/posts"
element={
<div style={{ padding: 16 }}>
<ReactRouter.Outlet />
</div>
}
>
<ReactRouter.Route index element={<PostList />} />
</ReactRouter.Route>
</ReactRouter.Routes>
</RefineAntdDemo>
</ReactRouter.BrowserRouter>,
);