开源无代码/低代码平台 NocoBase v0.17,全新的 SchemaSettings

NocoBase 是一个极易扩展的开源无代码开发平台。 不必投入几年时间、数百万资金研发,花几分钟时间部署 NocoBase,马上拥有一个私有、可控、极易扩展的无代码开发平台。

中文官网:
https://cn.nocobase.com/

NocoBase

新特性

为了降低开发学习成本,提供更好的前端开发体验,在过去的几个月里,我们分阶段的对前端内核进行了重构,其中包括:

nocobase-client

这一次 v0.17 重构了 UI Schema 设计器相关的 SchemaInitializer 和 SchemaSettings

为了解决用户上手难的问题,我们也重新梳理了各部分文档

  • 插件开发(全面改版,已发布)
  • API 参考 / 客户端(新版块,已发布)
  • 使用手册(全面改版,将在未来一两周内发布)
  • 插件列表(新版块,包括所有已有插件的介绍、使用、扩展开发的说明,将在未来一两周内发布)

不兼容的变化

SchemaInitializer 的变化

  • 新增 SchemaInitializerManager,用于注册 SchemaInitializer
  • 新增 useSchemaInitializerRender() 代替原来的 useSchemaInitializer()  render()
  • 新增 useSchemaInitializerItem(),用于获取当前初始化项的上下文
  • 新增 SchemaInitializerItemGroup 组件,用作 type: 'itemGroup' 的默认组件
  • 新增 SchemaInitializerSubMenu 组件,用作 type: 'subMenu' 的默认组件
  • 新增 SchemaInitializerDivider 组件,用作 type: 'divider' 的默认组件
  • 新增 SchemaInitializerChildren 组件,用于自定义渲染多个列表项
  • 新增 SchemaInitializerChild 组件,用于自定义渲染单个列表项
  • 更改 SchemaInitializerContext 职责变更,用于存放当前初始化器的上下文
  • 更改 useSchemaInitializer() 职责变更,用于获取当前初始化器的上下文
  • 更改 function SchemaInitializer 变更为 class SchemaInitializer,用于定义初始化器
  • 更改 SchemaInitializer 参数变更
    • 新增 name 必填参数,用于 x-initializer 的值。
    • 新增 Component 参数,用于定制化渲染的按钮。默认为 SchemaInitializerButton
    • 新增 componentPropsstyle 用于配置 Component 的属性和样式。
    • 新增 ItemsComponent 参数,用于定制化渲染的列表。默认为 SchemaInitializerItems
    • 新增 itemsComponentPropsitemsComponentStyle 用于配置 ItemsComponent 的属性和样式。
    • 新增 popover 参数,用于配置是否显示 popover 效果。
    • 新增 useInsert 参数,用于当 insert 函数需要使用 hooks 时。
    • 更改 将 dropdown 参数改为了 popoverProps,使用 Popover 代替了 Dropdown
  • 更改 SchemaInitializer  items 参数变更
    • 新增 useChildren 函数,用于动态控制子项。
    • 新增 componentProps 函数,用于组件自身的属性。
    • 新增 useComponentProps 函数,用于动态处理组件的 props
    • 更改 将 key 参数改为了 name,用于列表项的唯一标识。
    • 更改 将 visible 参数改为了 useVisible 函数,用于动态控制是否显示。
    • 更改 将 component 参数改为了 Component,用于列表项的渲染。
  • 更改 SchemaInitializer.Button 变更为 SchemaInitializerButton,是 SchemaInitializer 的 Component 参数的默认值;
  • 更改 SchemaInitializer.Item 变更为 SchemaInitializerItem,参数不变;
  • 更改 SchemaInitializer.ActionModal 变更为 SchemaInitializerActionModal,参数不变;
  • 更改 SchemaInitializer.SwitchItem 变更为 SchemaInitializer.Switch,参数不变。
  • 删除 SchemaInitializerProvider,用 SchemaInitializerManager 代替
  • 删除 SchemaInitializer.itemWrap,不需要再包裹 item 组件了;

SchemaSettings 的变化

  • 新增 SchemaSettingsManager 用于注册 SchemaSettings
  • 新增 useSchemaSettingsItem()
  • 新增 useSchemaSettingsRender()
  • 新增 x-settings 参数,用于配置 schema 的设置器
  • 新增 x-toolbar 参数,用于配置 schema 的工具栏
  • 新增 SchemaToolbar 组件,用于自定义 schema 的工具栏
  • 新增 useSchemaToolbarRender(),代替原来的 useDesigner()
  • 更改 function SchemaSettings 变更为 class SchemaSettings,用于定义设置器
  • 更改 原 SchemaSettings 变更为 SchemaSettingsDropdown
  • 更改 SchemaSettings.Item 变更为 SchemaSettingsItem
  • 更改 SchemaSettings.ItemGroup 变更为 SchemaSettingsItemGroup
  • 更改 SchemaSettings.SubMenu 变更为 SchemaSettingsSubMenu
  • 更改 SchemaSettings.Divider 变更为 SchemaSettingsDivider
  • 更改 SchemaSettings.Remove 变更为 SchemaSettingsRemove
  • 更改 SchemaSettings.SelectItem 变更为 SchemaSettingsSelectItem
  • 更改 SchemaSettings.CascaderItem 变更为 SchemaSettingsCascaderItem
  • 更改 SchemaSettings.SwitchItem 变更为 SchemaSettingsSwitchItem
  • 更改 SchemaSettings.ModalItem 变更为 SchemaSettingsModalItem
  • 更改 SchemaSettings.ActionModalItem 变更为 SchemaSettingsActionModalItem
  • 删除 x-designer 参数已废弃,将来会删除,使用 x-toolbar 代替,
  • 删除 useDesigner() 已废弃,将来会删除,使用 useSchemaToolbarRender() 代替

更多详情查看 NocoBase 0.17 的不兼容变化

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/269843

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。