
【免费下载链接】optimus-ui80 accessible, customizable Angular components under the MIT license. A community-maintained continuation of PrimeNG v21, built to stay open.项目地址https://gitcode.com/gh_mirrors/op/optimus-ui点击查看免费下载Optimus UI 是面向 Angular 的开源 UI 组件库MIT 协议提供 80 可定制、可无障碍访问的组件是 PrimeNG v21 的社区延续版。本篇攻略带你一次掌握它最核心的三类表单组件——InputText 文本输入、Select 下拉选择、DatePicker 日期选择以及如何用响应式表单ReactiveForms快速搭建带错误提示的校验模式新手也能照着做出完整表单。 Optimus UI 一键安装步骤安装只需一条命令要求Angular 21它会自动安装组件库并写入主题配置ng add openng/optimus-ui常用主题预设可通过--theme参数指定例如--theme Lara|Material|Nora。如果你是从 PrimeNG v21 迁移过来Optimus UI 与 PrimeNG v21API 兼容官方提供了专门的迁移 schematicng generate openng/optimus-ui1:migrate-from-primeng更多安装与迁移细节见 README.md。✏️ InputText 文本输入快速上手InputText 不是一个独立组件而是一个增强原生的input元素的指令只要给输入框加上pInputText就会自动获得主题样式与无障碍支持源码见 inputtext.ts。input typetext pInputText [(ngModel)]value /它支持的关键属性详见 inputtext.ts属性作用variant输入变体filled填充/outlined描边也可由全局配置统一指定pSize尺寸large/smallinvalid显示校验失败时的红色错误态样式fluid撑满容器 100% 宽度也可由父级pFluid容器统一控制小技巧配合pKeyFilter指令可以直接限制输入内容比如pKeyFilterint只允许输入整数参考 keyfilter-doc.ts无需自己写正则拦截。 Select 下拉选择与过滤模式Select 用于从一组选项中做单选是表单中使用频率最高的组件之一。基本用法通过options传入选项集合用optionLabel/optionValue指定显示字段和取值字段——如果选项本身是字符串数组则这两个属性都可以省略参考 basic-doc.tsp-select [options]cities [(ngModel)]selectedCity optionLabelname placeholderSelect a City classw-full md:w-56 /常用进阶能力完整 API 见 select.tsfilter过滤搜索选项多时开启后输入关键字即可实时筛选virtualScroll虚拟滚动数万条选项也能流畅滚动配合scrollerOptions指定行高editable允许用户直接在下拉框中输入内容分组与自定义模板通过选项分组和itemTemplate自定义每一项的展示。 DatePicker 日期选择与范围选择DatePicker 与一个Date类型属性做双向绑定即可开箱使用参考 basic-doc.tsp-datepicker [(ngModel)]date /几个最实用的参数属性作用dateFormat显示格式如dd/mm/yy可结合 locale 做国际化pInputMask强制输入格式如99/99/9999防止用户乱填参考 mask-doc.tsminDate/maxDate限制可选日期边界超出范围的日期会被禁用参考 minmax-doc.tsselectionMode设为range时选择日期区间值为含起止两端的数组设为multiple可多选readonlyInput只允许点选、不允许手输配合minDate/maxDate效果最好✅ Angular 响应式表单校验模式三类组件都实现了NG_VALUE_ACCESSOR因此可以直接用formControlName接入 Angular 响应式表单。推荐做法用Validators声明校验规则required、email等通过[invalid]把已触碰且校验失败的状态传给组件触发红色错误样式用p-message在字段下方展示具体错误文案。form [formGroup]exampleForm (ngSubmit)onSubmit() input pInputText typeemail placeholderEmail formControlNameemail [invalid]isInvalid(email) / if (isInvalid(email)) { p-message severityerror sizesmall variantsimplePlease enter a valid email./p-message } /form判断何时显示错误的经典写法是control.invalid (control.touched || formSubmitted)——既避免用户一打开页面就一片红也保证提交时能强制暴露所有错误完整示例见 reactiveforms-doc.ts、select 的 reactiveforms 示例。 速查清单场景推荐组件 / 参数普通文本、邮箱、数字输入pInputTextpKeyFilter少量固定选项单选p-selectoptionLabel大量选项 搜索p-selectfiltervirtualScroll日期 / 日期区间p-datepickerminDate/maxDate字段级错误提示[invalid]p-message从 PrimeNG v21 迁移ng generate openng/optimus-ui1:migrate-from-primeng写在最后掌握 InputText、Select、DatePicker 这三个表单主力组件再加上[invalid] 响应式表单的校验套路你就覆盖了日常业务表单 90% 的场景。如需在本地通读源码可以克隆仓库git clone https://gitcode.com/gh_mirrors/op/optimus-ui各组件文档示例都位于apps/docs/doc/对应目录下配合本篇的速查清单上手会非常快。赞分享【免费下载链接】optimus-ui80 accessible, customizable Angular components under the MIT license. A community-maintained continuation of PrimeNG v21, built to stay open.项目地址https://gitcode.com/gh_mirrors/op/optimus-ui点击查看免费下载相关推荐cube-ui Validator 表单校验组件完全指南规则、消息模板与异步校验cube ui Validator 表单校验组件完全指南规则、消息模板与异步校验 导读 cube validator 是 cube ui基于 Vue 的移动前端UI组件移动开发从零到一掌握React高阶表单组件rc-form全攻略从零到一掌握React高阶表单组件rc form全攻略 你是否还在为React表单开发中的状态管理、字段验证、动态表单等问题头疼面对复杂表单场景时重复编写彻底解决PrimeVue表单验证痛点Select组件空值验证全攻略彻底解决PrimeVue表单验证痛点Select组件空值验证全攻略 你是否曾在使用PrimeVue开发表单时遇到Select选择器组件明明设置了必填项前端UI组件上一篇如何玩转cc-haha子Agent创建专属AI子员工把复杂任务拆分并行下一篇KV Cache 直降 78%LensVLM-9B 混合注意力架构的省钱逻辑被扒干净了创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考