Search Component
Category: FormThe search component implements common search form fields, supports nesting various custom form fields, and features autocomplete functionality.

Preface
The search component is implemented based on the oc-fields
component and the Autocomplete
module. It uses oc-search
as the node name to wrap the oc-fields
node, allowing free editing of child node attributes to meet diverse requirements.
Basic Usage
The built-in oc-fields
component can use single-line form fields in any combination to achieve a "text field + button" search interface.
- Output
- HTML
Full Width
Using the full
attribute allows the component to horizontally fill its container.
- Output
- HTML
Toolbox
The toolbox is constructed using the createTools
function and can be inserted in a fixed HTML format. The toolbox can be placed either before or after other elements. It can also be directly written on the oc-input
component.
Size
Set the size via the size
attribute, with available values: sm
, md
(default), and lg
.
- Output
- HTML
Icon Placeholder
After setting the iconholder
attribute on the oc-input
node, you can set the placeholder
attribute with an icon system name to display an icon placeholder.
For example, if the icon class name is _icon-search
, then the placeholder should be search
, omitting _icon-
.
- Output
- HTML
Border Shape
This component has small rounded corners by default. If needed, you can set the shape
attribute to have square or large rounded corners.
Autocomplete
Use the oc-autocomplete
attribute on the main input control to enable autocomplete functionality.
Traditional Form Submission
Wrap the oc-search
node with a form
node and use the click event on the oc-btn
node to trigger the form's submit
event for form submission.
- Output
- HTML
Using Form Submission Tools
This framework includes a form submission tool formTools.submit
, which can handle both traditional and asynchronous form submissions.
Prominent Style
Add the notable
attribute to make the search bar display in the primary color for prominence.
- Output
- HTML
Attributes
Attribute | Type | Options | Default | Description |
---|---|---|---|---|
disabled | boolean | - | - | Whether disabled |
full | boolean | - | - | Full width display |
notable | boolean | - | - | Prominent display |
size | string | 'sm'/'md'/'lg' | 'md' | Size |
label | string | - | - | Title |
shape | string | 'radius'/'round'/'square' | 'radius' | Border shape |
Common Methods
Common component methods:
set
: Set properties (takes key-value pairs or array)reset
: Reset properties (no params)clear
: Clear properties and values (no params)
Basic usage: CompElem.reset()
Common Events
Common component events:
connected
: Component connected (no params)disconnected
: Component disconnected (no params)adopted
: Component moved (no params)set
: Property set (receives value)cleared
: Property cleared (no params)reset
: Property reset (no params)
Basic usage: CompElem.on('connected',()=>{console.log('connected')})