ant-design / pro-components

🏆 Use Ant Design like a Pro!
https://pro-components.antdigital.dev
MIT License
4.04k stars 1.29k forks source link

🧐[问题]自定义了valueType,怎么修改ts定义,才能不报错 #8366

Open ThiefTMBadBad opened 2 weeks ago

ThiefTMBadBad commented 2 weeks ago

提问前先看看:

https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md

🧐 问题描述

使用了umi和pro-components 我自定义了valueType,但是发现ts无法通过

💻 示例代码


const valueTypeMap: Record<string, ProRenderFieldPropsType> = {
  lookup: {
    renderFormItem(text, props) {
      return <ProFormLookup {...props} />
    }
  },
}

export default function Layout() {
  return (
    <ProConfigProvider valueTypeMap={valueTypeMap}>
      <Outlet />
    </ProConfigProvider>
  );
}

export const columns: ProColumns<ProductModelInfo>[] = [
  {
    title: '机型编码',
    dataIndex: 'no',
    width: 120,
    tooltip: '机型编码是唯一的 key',
    formItemProps: {
      rules: [{ required: true, whitespace: true }],
    },
    render(dom, entity, index, action, schema) {
      console.log(dom, entity, index, action, schema);
      return <Link to={`../product-model-detail?id=${entity.id}`}>{dom}</Link>;
    },
  },
  {
    title: '机型名称',
    dataIndex: 'name',
    valueType: 'lookup', // 这一行会报错
    width: 120,
    fieldProps: {
      allowClear: true,
    },
    formItemProps: {
      rules: [{ required: true, whitespace: true }],
    },
  },
];

我尝试过了给ProColumns的第二个泛型参数传递'lookup',但是我在fieldProps的定义中还是会遇到麻烦,它不是我自定义的类型定义

🚑 其他信息