Skip to content

👑 [需求] 自定义 ProForm valueType 取不到 fieldsProps 和 request 参数 #9148

@boringplay

Description

@boringplay

🔩 所属模块或组件

ProForm

🥰 需求描述

现在有一个自定义 FormItem组件

export const MyFormItem = memo<{ 
  fieldProps: { /* ... */ },
  request: () => Promise<any[]>
}>(() => {
  /* ... */
})

export function ProSchemaProvider<T, ValueType = ProSchemaFormValueType>({
  children,
}: PropsWithChildren) {
  const proProviderValue = useContext(ProProvider);

  const value = useMemo<typeof proProviderValue>(() => {
    return {
      ...proProviderValue,
      valueTypeMap: {
        ...proProviderValue.valueTypeMap,
        my: {
          renderFormItem(_, props) {
            // props.fieldProps 里取不到 request和 fieldsProps字段
            return <MyFormItem {...props.fieldProps} />;
          },
        },
      },
    };
  }, [proProviderValue]);

  return <ProProvider.Provider value={value}>{children}</ProProvider.Provider>;
}

自定义 valueType 时, MyFormItem 的 requestfieldProps 字段取不到

<ProForm
  columns={
     [ title: 'title', valueType: 'my', fieldProps: {  request: () => [], fieldProps: {a:true} }   ]
  }
/>

需要把requestfieldProps改成其他名字才能获取

⛰ 功能需求适用场景

🧐 解决方案

🚑 其他信息

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions