wsj
3 days ago 71719ffa0eeb4a28a1b736f87499bcda2847a848
.claude/skills/new-page/templates/table-page/index.tsx
@@ -4,8 +4,8 @@
import type { ActionType } from '@ant-design/pro-components';
import { App as AntdApp, Button } from 'antd';
import { createXxxColumns } from './columns';
import { deleteXxx, getXxxList } from './server';
import type { XxxQuery, XxxRecord } from './types';
import { deleteXxx, getXxxList } from './service';
import type { XxxListParams, XxxQuery, XxxRecord } from './types';
import './Xxx.scss';
const Xxx = () => {
@@ -20,11 +20,15 @@
        okText: '删除',
        cancelText: '取消',
        okButtonProps: { danger: true },
        onOk: async () => {
          await deleteXxx(record.key);
          message.success('已删除');
          actionRef.current?.reload();
        },
        onOk: () =>
          deleteXxx(record.key)
            .then(() => {
              message.success('已删除');
              actionRef.current?.reload();
            })
            .catch(() => {
              // 错误已由 request 统一提示
            }),
      });
    },
    [message, modal],
@@ -35,20 +39,22 @@
    [handleDelete],
  );
  const fetchList = useCallback(
    (params: XxxListParams) =>
      getXxxList(params).then((result) => ({
        data: result.data,
        total: result.total,
        success: result.success,
      })),
    [],
  );
  return (
    <div className="xxx-page">
      <div className="page-header">
        <div>
          <h1 className="page-header__title">页面标题</h1>
          <p className="page-header__desc">页面说明。</p>
        </div>
      </div>
      <ProTable<XxxRecord, XxxQuery>
        rowKey="key"
        actionRef={actionRef}
        columns={columns}
        cardProps={{ className: 'xxx-table-card' }}
        search={{ labelWidth: 'auto', defaultCollapsed: false }}
        scroll={{ x: 900 }}
        options={false}
@@ -68,7 +74,7 @@
            新增
          </Button>,
        ]}
        request={(params) => getXxxList(params)}
        request={fetchList}
      />
    </div>
  );