用途
本技能用于在 ASP.NET Core 应用中实现 Syncfusion 的 ComboBox 下拉选择组件,提供可搜索、可过滤的下拉选择能力,并可结合数据绑定与模板进行定制。
主要能力
- 支持本地数组数据与通过 DataManager 的远程数据源绑定,并可通过字段映射处理复杂数据结构。
- 提供输入即搜索的过滤/自动补全,可切换过滤类型(contains、startsWith、endsWith),支持大小写敏感设置、最小字符阈值及服务端远程过滤。
- 允许用户输入列表中不存在的自定义值。
- 支持数据分组与升/降序排序,可自定义排序函数并组合使用。
- 提供列表项、页眉、页脚及分组标题的模板定制,可通过 CSS 类与 CSS 变量调整主题,并可配置弹层宽高。
- 支持自动填充(autofill)以加快录入,并可与过滤组合使用。
- 支持用户调整下拉弹层尺寸(allowResize),可设置初始宽高。
- 高级特性包括级联 ComboBox、大数据集虚拟滚动、键盘导航(Tab、Enter、方向键)、ARIA 无障碍属性、RTL 支持、自定义验证与事件处理(change、selecting、select、filtering)。
- 内置键盘导航与屏幕阅读器支持,资料称符合 WCAG 2.1 AA。
使用方式
通过 ASP.NET Core 的 Tag Helper 语法集成,例如:
<ejs-combobox id="games" dataSource="@sports" placeholder="Select a sport"></ejs-combobox>
数据绑定示例:
<ejs-combobox id="countries"
dataSource="@data"
fields-text="Text"
fields-value="Id"
placeholder="Select a company">
</ejs-combobox>
启用过滤搜索:
<ejs-combobox id="combobox"
dataSource="@data"
allowFiltering="true"
placeholder="Type to search">
</ejs-combobox>
允许自定义值:
<ejs-combobox id="combobox" allowCustom="true" dataSource="@data"></ejs-combobox>
按字段分组:
<ejs-combobox id="combobox"
dataSource="@data"
fields-groupBy="Category"
fields-text="Name">
</ejs-combobox>
自动填充:
<ejs-combobox autofill="true" allowFiltering="true"></ejs-combobox>
可调整弹层:
<ejs-combobox allowResize="true" popupWidth="400px" popupHeight="300px"></ejs-combobox>
安装与 NuGet 包配置、CSS/脚本引入等步骤,资料指引阅读 references/getting-started.md。级联 ComboBox 的完整示例见 references/advanced-features.md。
关键属性
- dataSource(数组或 DataManager):下拉展示的项。
- fields-text(string):作为标签显示的字段。
- fields-value(string):作为选中值的字段。
- placeholder(string):空状态提示文本。
- allowFiltering(bool):启用输入即搜索/过滤。
- allowCustom(bool):允许输入列表外的值。
- fields-groupBy(string):分组依据字段。
- sortOrder(Ascending/Descending):项排序顺序。
- popupHeight / popupWidth(string):下拉弹层高/宽。
- read-only(bool):只允许选择、禁止输入。
- enabled(bool):启用/禁用控件。
适用场景
- 从国家/城市等列表中选择,可结合数据绑定与可选分组。
- 在大数据集中搜索,可结合过滤与虚拟滚动。
- 创建相互依赖的下拉(级联模式)。
- 展示分类项,可结合分组与自定义模板。
- 匹配 API 响应数据,可使用 DataManager 与字段映射。
- 构建无障碍表单,可使用 ARIA 属性。
限制
资料未提供具体的环境版本要求、NuGet 包名与安装命令、许可或收费信息、性能指标及平台适用范围,这些内容暂未提供。