baidu / amis

前端低代码框架,通过 JSON 配置就能生成各种页面。
https://baidu.github.io/amis/
Apache License 2.0
17.4k stars 2.52k forks source link

通过继承SelectControl实现的自定义表单组件无法直接渲染 #10998

Closed ranwawa closed 1 month ago

ranwawa commented 1 month ago

业务背景:

我们有80+业务组件,是基于官方组件进行二次开发,大部分组件只是设置了通用的默认属性,r 比如

@OptionsControl({
  type: 'zmn-province',
})
export class ZmnProvinceRenderer extends SelectControl {
  static defaultProps = {
  label: '省份',
  name: 'provinceId',
  placeholder: '请选择省份',
  maxTagCount: 1,
  searchable: true,
  clearable: true,
  checkAll: true
};
}

存在的问题:

如果直接使用render({type: 'zmn-province'})无法直接渲染,必须显示声明name属性。 排查发现是formItem属性未注入导致。 这个formItem是在哪里创建并注入给表单元素的呢?如果默认有name属性应该也要自动创建并注入吧