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

SmartClient TSX添加表单文本报TS2339:fields不存在错误排查

错误原因
  • 你复制的示例是SmartClient原生的XML声明式语法,不是React TSX支持的语法格式。TSX会将小写开头的<fields>、<field>标签识别为原生DOM元素,但JSX内置元素类型集合JSX.IntrinsicElements中没有这两个元素的定义,因此抛出TS2339类型错误。
  • SmartClient v12.1p的React集成模式下,不支持用嵌套子标签的方式声明表单字段,官方XML示例仅适用于非React的原生SmartClient开发场景。
修复方案

TSX环境下DynamicForm的字段需要通过组件的fields属性传入配置数组,不要写嵌套的<fields>、<field>子标签,对应实现代码如下:

import { DynamicForm } from '@smartclient/react'; // 引入路径匹配你项目的实际依赖配置

function BusinessForm() {
  return (
    <DynamicForm
      width={300}
      fields={[
        {
          defaultValue: "Office Supplies",
          type: "header" // 对应官方示例的HeaderItem
        },
        {
          title: "Item",
          type: "text"
        }
      ]}
    />
  )
}

export default BusinessForm;
  • 如果修改后仍有类型报错,检查项目是否安装了SmartClient对应的TypeScript类型声明包,确认tsconfig.json的compilerOptions.types配置中已包含SmartClient相关类型。
  • 后续参考官方文档时,XML格式的示例都需要转换成props传参的形式在TSX中使用,不要直接复制嵌套标签结构。

内容的提问来源于stack exchange,提问作者Darius.V

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 23:00:57