Select Library: How to Use Data Sources
Category: ExamplesThe Select module enables single and multiple selection, perfectly replacing the native select-single and select-multiple components; it supports fuzzy search and auto-completion.
Simple Grouping
The native select
element includes the grouping node optgroup
which can be directly used to implement simple two-level grouping.
Using Complete Structure Trees
When writing data on list nodes:
Using Plain Text Data
Multiple option texts separated by English commas.
Using Simple Array Data
Simple string arrays can be used directly.
Using Detailed Array Data
When creating instances, the following data properties can be used:
Using Script Tags to Pass Data
If you don't want to use the new+id
approach but still need to pass more data through nodes, you can use script
tags within the oc-select
tag and write the data in standard JavaScript format.
You can also write data directly in HTML format within the target node without using script tags, though this approach is less elegant.
contType Parameter
When the content parameter value is of string
type, the data source method depends on the contType
parameter:
- When content='#id', it means reading menu data from ul or ol nodes in the page - contType should be set to
html
- When content='http://xxx.xxx.com/xxx.json', it means reading menu data asynchronously - contType should be set to
async
(content can be a JSON file address or dynamic page address like PHP or Java)
Other cases where content is Function
, Promise
, AsyncFunction
, Object
,Array
or HTMLElement
will be automatically recognized.
Using Asynchronous JSON Data
Using Asynchronous SQL Data
You can click here to download the database SQL file.
Using Node Data
There are two ways to use node data for content:
Content as Function
Allows content type to be a function, which should return a tree array or flat array.
Content as Promise
Allows content type to be Promise
, where the resolve
parameter should be a tree array or flat array.
Content as AsyncFunction
Allows content type to be AsyncFunction
, where async should return a Promise
and the resolve parameter should be a tree array or flat array.
Data Structure
After instance initialization, the initial data is automatically processed into structured tree data, with each item containing basic properties:
Additionally, after instantiation, the raw data will automatically include structural relationship properties (id
, pId
, path
, floor
) and node properties: