[Feature Request] Field Component support for Form fields in V2 Modern Pages

Environment:

  • NocoBase version: 2.0.0-beta.11
  • Installation method: create-nocobase-app
  • OS: Ubuntu Server 24.04.3

Summary:
I developed a custom GPS Location Picker plugin that works perfectly in V1 (Classic pages), but the Field Component option is not available for Form fields in V2 (Modern pages).

What works in V1:
In Classic pages, I can select my custom component from Field settings → Field component dropdown:

![V1 Field Component dropdown showing GPS Location Picker option]

The component renders correctly with GPS detection and Google Maps integration:

![GPS Location Picker UI with input field and action buttons]


What’s missing in V2:

In Modern pages, the Form field settings menu does not have the “Field component” option:
![V2 Form field settings menu - no Field component option]
According to the 2.0-beta announcement, Field component is “Enhanced” for Table columns, but there’s no mention of Form fields.


My Plugin Code in file attached and build tar plugin, too (thus I can not upload plugin to this site https://a_8hwne7u84ho.v13.demo.nocobase.com/admin/settings/plugin-manager

Workaround attempted:
I tried using JS Item in V2 with the sn-jsitem-basic snippet, which works but:

  • Requires manual field binding
  • No access to the full component features (map popup, etc.)
  • More complex setup for end users

Questions:

  1. Is Field Component for Form fields planned for V2?
  2. What is the recommended way to register custom field components in V2 using FlowEngine?
  3. Will V1 (Classic pages) continue to be supported long-term?

Expected behavior:
Form field settings in V2 Modern pages should have a “Field component” option (like V1 and like Table columns in V2), allowing users to select custom components for data entry.

Thank you for your great work on NocoBase 2.0! Looking forward to your guidance.
plugin-gps-location-lite.zip (20.3 KB)

Specific fields have “Field components”.

@hongboji Thanks for confirming! I found the issue now.

In V1 (Classic pages), my GPS Location Picker appears in the “Field component” dropdown under Generic properties menu:
![V1: Generic properties menu showing “Field component: GPS Location Picker” option]
image

But in V2 (Modern pages), the field settings menu does not have a “Field component” option at all:
![V2: Field settings menu showing only Show label, Label, Tooltip, Description, Validation, Required, Display mode, Copy UID, Delete - NO Field component option]
image

Key difference:

  • V1 menu: Has “Generic properties” → “Field component” dropdown
  • V2 menu: Only basic settings (Show label, Required, Display mode, etc.)

Questions:

  1. Is this a missing feature in V2 beta, or do I need to configure something differently to make “Field component” appear?
  2. If it’s a V2 limitation, is there a workaround using FlowEngine/FlowModel to achieve the same result?
  3. Your screenshot shows “Field component: Select ✓” in V2 - what field type were you using? (I’m using a text field with interface “input”)

My registration code (works in V1, doesn’t show in V2):

// plugin.tsx
async load() {
  this.app.addComponents({ GpsLocationPicker });
  
  // V1: This works perfectly
  this.app.schemaSettingsManager.addFieldInterfaceComponentOption('input', {
    label: 'GPS Location Picker',
    value: 'GpsLocationPicker',
  });
}

Any guidance on making custom field components available in V2 would be greatly appreciated! :pray:

I’ve tried in demo site:

  1. With Classic page (v1): https://a_8hwne7u84ho.v13.demo.nocobase.com/admin/on02hifb4i3

  1. With Modern page (v2) https://a_8hwne7u84ho.v13.demo.nocobase.com/admin/gxpzwd86ai1

Same filed Title in collection Contact .

@hongboji I’ve reproduced missing component with Classic page (v1) and Modern page (v2), please check my post above.