You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Payload CMS自定义字段组件中使用useField触发TypeError错误的问题求助

Payload CMS自定义字段组件中使用useField触发TypeError错误的问题求助

我正在为Payload CMS的数组字段开发一个自定义字段组件,参考官方文档的useField钩子用法后,尝试用它来管理字段取值,但遇到了无法解决的运行时错误。

以下是我的自定义字段组件代码:

'use client'

import { ArrayFieldClientProps } from 'payload'
import { useField } from '@payloadcms/ui'

export default function SeriesProductParameterValueField({ path }: ArrayFieldClientProps) {
  console.log('path', path)

  const { value, setValue } = useField({ path })

  return <div>SeriesProductParameterValueField</div>
}

然而,其中const { value, setValue } = useField({ path })这一行触发了如下错误:

Unhandled Runtime Error: TypeError: Cannot destructure property 'config' of 
'(0 , _chunk_3MXUY6XL_js__WEBPACK_IMPORTED_MODULE_10__.b)(...)' as it is undefined.

为了提供上下文,这里附上我的集合配置片段:

{
  name: 'products',
  type: 'array',
  fields: [
    {
      type: 'row',
      fields: [
        {
          name: 'title',
          type: 'text',
          required: true,
        },
        {
          name: 'image',
          type: 'upload',
          relationTo: 'media',
          required: true,
        },
      ],
    },
  ],
},
{
  name: 'parameterGroups',
  type: 'array',
  fields: [
    {
      name: 'title',
      type: 'text',
      required: true,
      localized: true,
    },
    {
      name: 'parameters',
      type: 'array',
      fields: [
        {
          name: 'parameter',
          type: 'relationship',
          relationTo: 'parameters',
          required: true,
        },
        {
          name: 'values',
          type: 'array',
          fields: [
            {
              name: 'productId',
              type: 'text',
              required: true,
              unique: true,
            },
            {
              name: 'value',
              type: 'text',
              localized: true,
            },
          ],
          admin: {
            components: {
              Field: '/components/payload/series-product-parameter-value-field',
            },
          },
        },
      ],
    },
  ],
},

我有几个疑问想请教大家:

  • 为什么useField会抛出这个类型错误?
  • 是不是我在useField的使用方式或者集合配置里的组件路径设置上存在问题?
  • 有没有关于在Payload CMS中实现自定义字段组件的详细指导或者实用示例?

提前感谢大家的帮助!

备注:内容来源于stack exchange,提问作者Adam Sucharda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 14:18:10