UI库组件属性太多不知道啥意思?没关系来看看可视化设置(一)

简介: UI库提供了很多组件,组件又带有很多属性,有一些常用属性我们可以记住并且手撸,但是有些不常用的属性,或者需要设置多个属性,这样的情况下写起来就麻烦了,有时候还要打开帮助文档看看属性是怎么设定的,需要设置什么样的属性值。那么有没有优雅的方式来设置组件的各种属性呢?我做了一个在线小工具,可以方便的设置属性,并且可以实时看到效果。

演示地址

https://naturefw.gitee.io/nf-rollup-ui-controller/

源码

https://gitee.com/naturefw/nf-rollup-ui-controller

技术栈

  • vite:^2.6.4
  • vue3:^3.2.16
  • element-plus:^1.2.0-beta.3
  • @element-plus/icons:^0.0.11

特点

  • 可以选择组件类型,文本、数字、日期、select、checkbox、radio、等等;
  • 根据选择的组件类型,设置对应的属性,按需设置,不显示“无效”属性;
  • 可以实时显示效果,设置属性后可以立即看到效果,方便调整属性;
  • 设置好的属性可以生成js的对象和模板代码,支持 json 格式;
  • 大部分属性值都可以通过鼠标点击的方式生成,少数的需要手敲;

工作量比较大、精力有限,目前仅支持 element-plus 的部分组件,理论上可以支持任何UI库,只是设置属性有点太繁琐了,需要时间进行学习、掌握和理解,把相关属性合在一起,还有调试演示代码等工作。有没有感兴趣的小伙伴来帮帮忙?

看看演示效果

103.png

活链接


实现思路

实现方法比较土,就是把需要的组件分个类,再把需要的属性分成两种:基础属性、扩展属性,然后就是力气活了,把各种属性整理出来即可。

104.png


基础 组件 分类.png

大类原则

主要是看内容,文本、日期、数字很明显的可以分别归类,选择和下拉都是选择类型的,分成两类主要是小分类比较多,分开更清晰一些。

小类原则

  • 按照UI库提供的组件
  • 按照功能,“原子”级别
  • 按照值的类型,比如数组和非数组。

范围类的组件,值的类型是数组,非范围型的组件,值的类型不是数组,在动态改变某属性值的时候,数组和非数组有的时候不能自动变更类型,导致代码出错。

这样就需要把范围类的和非范围类的分开,比如 select 的单选模式和多选模式,只是一个 “multiple” 属性的区别,但是这个属性不能在运行时修改,否则会报错,所以只好分成两个小类。

好吧,其实你不用关心这些。

举例

el-input 可以细分为多个小类:单行文本,多行文本,密码,URL,可选等。为什么要细分呢?因为不同的小类需要的属性是不同的,细分一下可以缩小备选的属性范围,设置起来更清晰,否则像官网那样,各种属性都堆在一起,还得分辨一下是否是支持某个小类。

比如 “show-word-limit” 仅支持单行文本和多行文本,并不支持其他小类。如果我要设置一个密码组件的属性,那么就不需要显示 “show-word-limit”这个属性,否则看起来就会比较乱。

所以通过细分小类的方式显示需要的属性,避免混淆。

基础属性

表单里的组件共有的属性:

105.png


基础属性

基本上表单里的组件都需要这几个属性,所以拿出来作为基础属性,一起设置。扩展属性按照分类分别设置。

文本类

  • 单行文本

106.png

单行文本

  • 可以选择的文本

107.png

可选可填的文本框

  • 设置颜色

108.png


109.png


数字类

  • 数字

110.png

数字

  • 滑块

111.png

滑块


112.png

滑块

113.png

滑块效果

  • 评分

114.png

评分

其实最大值没有做限制,可以>5

115.png

评分颜色







目录
打赏
0
0
0
0
6
分享
相关文章
44.[HarmonyOS NEXT RelativeContainer案例一] 掌握组件锚点布局:打造灵活精准的UI定位系统
在HarmonyOS NEXT的UI开发中,精确控制组件位置是构建复杂界面的关键。RelativeContainer作为一种强大的布局容器,通过锚点系统提供了精确定位能力,使开发者能够创建出灵活且精准的UI布局。本教程将详细讲解如何使用RelativeContainer的锚点布局功能,帮助你掌握这一核心技术。
53 4
06.HarmonyOS Next UI进阶:Text组件与视觉样式完全指南
在HarmonyOS Next应用开发中,Text组件是最基础也是最常用的UI元素之一。它不仅用于显示文本内容,还可以通过丰富的样式属性实现各种视觉效果。掌握Text组件的样式设置,是构建精美UI界面的基础技能。
85 1
Deep Research Web UI:开源版Deep Research!接入DeepSeek一键生成深度研究报告,可视化检索过程
Deep Research Web UI 是一款开源的 AI 研究助手工具,通过 AI 驱动的迭代搜索和多语言支持,帮助用户高效进行深度研究,并以树状结构可视化研究过程,支持导出为 Markdown 或 PDF 格式。
890 10
Deep Research Web UI:开源版Deep Research!接入DeepSeek一键生成深度研究报告,可视化检索过程
Flame:开源AI设计图转代码模型!生成React组件,精准还原UI+动态交互效果
Flame 是一款开源的多模态 AI 模型,能够将 UI 设计图转换为高质量的现代前端代码,支持 React 等主流框架,具备动态交互、组件化开发等功能,显著提升前端开发效率。
617 1
深入探索ArkUI中的@LocalBuilder装饰器:构建高效可维护的UI组件
在ArkUI框架中,组件化开发至关重要。@LocalBuilder作为自API version 12引入的装饰器,专注于组件内部私有构建,确保封装性与安全性。本文解析其工作原理、参数传递机制及与@Builder的区别,结合典型场景代码示例,助开发者掌握这一工具。通过状态驱动UI更新、复杂组件组合等实践,优化性能并提升代码可维护性,推动高效UI架构构建。
115 0
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发一
本文介绍了方舟开发框架(ArkUI)及其两种开发范式:基于ArkTS的声明式开发范式和类Web开发范式。ArkUI是用于构建HarmonyOS应用界面的UI框架,提供极简UI语法和基础设施。声明式开发范式使用ArkTS语言,以组件、动画和状态管理为核心,适合复杂团队协作;类Web开发范式采用HML、CSS、JavaScript三段式开发,适用于简单界面应用,贴近Web开发者习惯。文中还概述了两者的架构和基础能力,帮助开发者选择合适的范式进行高效开发。
84 15
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发三
本文介绍了基于声明式UI范式的图形绘制与动画效果实现方法,涵盖绘制图形、添加动画效果及常见组件说明三部分内容。在绘制图形部分,详细讲解了如何通过Circle组件为食物成分表添加圆形标签,以及使用Path组件结合SVG命令绘制自定义图形(如应用Logo)。动画效果部分则展示了如何利用animateTo实现闪屏动画,包括渐出、放大效果,并设置页面跳转;同时介绍了页面间共享元素转场动画的实现方式。最后,文章列举了声明式开发范式中的各类组件及其功能,帮助开发者快速上手构建复杂交互页面。
81 11
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发四
本文介绍了Web组件开发与性能优化的相关内容。在Web组件开发部分,涵盖创建组件、设置样式与属性、添加事件和方法以及场景示例,如动态播放视频。性能提升方面,推荐使用数据懒加载、条件渲染替代显隐控制、Column/Row替代Flex、设置List组件宽高及调整cachedCount减少滑动白块等方法,以优化应用性能与用户体验。
122 56
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发之常见布局
本文主要介绍了自适应布局与响应式布局的相关内容。自适应布局部分涵盖线性布局、层叠布局、弹性布局和网格布局,详细说明了各布局的特性及使用方法,例如线性布局中的排列、拉伸与缩放,弹性布局的方向、换行与对齐方式等。响应式布局则重点讲解了栅格系统和媒体查询,阐述如何通过栅格组件和媒体查询条件实现不同设备上的适配效果。这些技术帮助开发者灵活应对多尺寸屏幕的设计需求,提升用户体验。
138 55
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发二
本文详细介绍了基于声明式UI开发的健康饮食应用的设计与实现过程。内容涵盖从基础环境搭建到复杂功能实现的全流程,包括创建简单视图、构建布局(如Stack、Flex)、数据模型设计、列表与网格布局构建,以及页面跳转和数据传递等核心功能。 本文通过实际案例深入浅出地解析了声明式UI开发的关键技术和最佳实践,为开发者提供了宝贵的参考。
74 14
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问