NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

组件化规范是如何设计的(二)

  • 2020-01-06
  • 本文字数:1733 字

    阅读完需:约 6 分钟

组件化规范是如何设计的(二)

如何制定组件设计规范?

1、需求分析

接到一个组件设计需求时,往往是开发就某种场景提出的一些功能点,当我们拿到这些功能点后,首先我们需要分析这些功能放在一起是否可以组件化,有没有功能点矛盾、有没有已有的组件符合这些功能点;接下来就需要再看有没有业界有没有类似组件作参考、在哪些场景下会使用到这种组件。下面以带标签输入框展开说明。


开发提供的功能点:


1)数据一次性从后台拿来,组件负责模糊匹配;


2)传入数据结构[{ id : 1, label:‘xxxxx’}, …]


3)下拉选一个后,这项就在下拉中去掉了;输入框中删除一个时,有增加到下拉里边;


4)输入框中可以输入任何值,点回车后将输入的内容建一个标签,放到输入框中,这一项的 id 就是 label 值,并做一个 trim,去掉左右空格,如果结果时空字符串,不添加;


5)下拉框和输入框宽度一致,超过宽度时,出三个点;(用原生的 title)所有地方都加 title。


6)输入框中的标签,设置一个最大宽度,最大宽度都设置成输入框宽度。


7)当输入框中没有任何内容时,有 placeholder;


8)当前暂定不要校验;


9)按向左键时,删除一个标签;


10)输入的内容,在已选择的有时,把这个干掉,不添加;


11)每个 label 标签上,有个叉,可以删除当前选择项;


12)输入框是高度自动撑开,标签是做浮动。


确定功能点明确,且没有已有组件后,抽离出与视觉交互相关的点并与开发进行讨论,确认设计师侧想到的细节问题后进行整理:


1)该组件为一输入框拓展组件,有下拉选项;


2)输入框中可以输入任何值,输入值后下拉列表进行筛选,可以在下拉中选中某值,也可以点回车后将输入的内容建一个标签,放到输入框中;


3)下拉选中选项后,这项在下拉列表中去掉;在输入框中点击删除图标时,又增加回到下拉中;


4)下拉框和输入框宽度一致,超过宽度时,出三个点;


5)输入框中的标签需要设置最大值,最大值为输入框的宽度;


6)单击输入框中的标签选中该标签,当点击键盘左右键对应选中临近标签;


7)在输入框中输入值后筛选出来的下拉列表中公共部分需要做标识;


8)下拉列表在选中值后仍不收起,在失去焦点后才收起。

2、友商分析

在梳理出来功能点后,需要查找并分析业界类似组件交互,看页面对于该种组件是如何处理的。梳理业界组件交互时,也需要按照操作动作进行梳理,并对这些动作进行详细备注说明。


对于带标签的输入框友商 AWS 是怎么做的呢?



对于其中一些功能,也可以看看相似组件的处理方式,比如筛选出的下拉选项公共部分标识这个功能点就可以参考百度搜索等搜索引擎的处理方式:


再比如百度贴吧的处理方式,获取焦点时,显示选择下拉:



分析过友商的交互后,需要判断友商的哪些交互合理,哪些交互不合理,哪些地方处理方式可以采纳,哪些地方可以可以优化;并及时与开发沟通这些细节问题,看在实现上能否调整,达到最好的交互效果。比如友商 AWS 的标签组件在点击删除图标后应该立即触发删除该标签,而不是点击删除图标之后收起下展,再次点击删除图标触发删除,再次获取焦点展开下拉,这块就可以考虑做个优化。

3、组件设计

设计阶段看似简单,但落实起来就需要做到细致、到位,任何地方都要细节化,包括元素间距、组件大小、颜色、文字层级、交互效果,一般的话到组件设计阶段,规范基本已经将这个特性规定下来,那这个时候就需要结合基本的特性,输出该组件的整体规范。整理的时候首先给出该组件的基本特性,再给出整个点击动作过程的效果图。


视觉标注:


交互说明:



视觉交互梳理完成后,需要与内部设计师交流讨论,看梳理的组件交互是否合理、有没有符合规范配色等等,结合大家建议重复修改,直到没有问题为止,整个组件规范才能确定。

4、组件实现

作为设计师,前期一定要在设计过程中与开发及时沟通,再好的设计从开发角度评估后实现不了也是徒劳的,但是业界可以实现的效果到我们这里反馈回来没法实现也是需要坚持的!在最终定稿后,也要实时关注开发最终实现效果,确保我们的设计得以完美实现!


一套完整的流程是需要在运行的过程中不断摸索,总结出来的,也不是我这简单的几段文字就可以将其整个周期阐述清楚,因此,也仅仅是在这里跟大家分享我做组件化规范的过程中总结的一些方法与思考,供大家参考!


本文转载自 DataFunTalk 公众平台。


原文链接:https://mp.weixin.qq.com/s/SSGxpfXaUfl1LMk2QPJAGQ


2020-01-06 18:18755

评论

发布
暂无评论
发现更多内容

重构: 自己挖的坑自己填

夏兮。

Java 重构 测试 单元测试

区块链BaaS平台+BI大数据系统

电微13828808271

区块链+

架构实战营-模块1-作业

泄矢的呼啦圈

架构实战营

用 Sublime Text 编辑 Markdown

U2647

sublime-text markdown 4月日更

3.3 Go语言从入门到精通:包管理工具之Govendor

xcbeyond

Go 语言 4月日更 vendor

GitHub开源城市结构公交路线数据可视化

不脱发的程序猿

GitHub 开源 智慧交通 4月日更 公交路线数据可视化

树莓派第一天的各种坑

IT蜗壳-Tango

4月日更

区块链BaaS平台,创造不一样的服务

电微13828808271

区块链+

“圈粉”行业龙头 数字人民币搅动投资江湖

CECBC

数字人民币

路过春天

小天同学

思考 个人感悟 4月日更

【译】JavaScript: 带你彻底搞懂 this

清秋

JavaScript 翻译 4月日更 this

Linux df命令

一个大红包

4月日更

架构训练营模块1作业-江哲

江哲

作业

聪明人的训练(三)

Changing Lin

4月日更

WordPress统计文章浏览次数

Sakura

4月日更

【LeetCode】最长公共子序列Java题解

Albert

算法 LeetCode 4月日更

与JVM做朋友系列(1)你好,Class字节码

洛神灬殇

JVM class bytecode 字节码

关于Webpack4 基础配置介绍

Chalk

Vue webpack 4月日更

从小白程序员到大厂高级技术专家我看过哪些书籍?

冰河

程序员 程序人生 冰河 推荐书单

Hive相关的总结

大数据技术指南

hive 4月日更

雄安区块链实验室副主任李军:把区块链植入数字雄安

CECBC

区块链

当云计算飞向深空

脑极体

Android面试你必须要知道的那些知识,重难点整理

欢喜学安卓

android 程序员 面试 移动开发

配置化开发是否可行?

顿晓

重构 配置化开发 4月日更

近期某大厂的技术面试题及答案整理

程序员架构进阶

面试 28天写作 算法面经 线上问题 4月日更

Kafka的再平衡机制

五分钟学大数据

kafka 4月日更

「Android Binder」AIDL中的 in / out 到底是啥?

李小四

android aidl binder inout

机器学习 | 数据缩放与转换方法(1)

披头

深度分析区块链是如何改变世界的

CECBC

区块链

Android性能优化之启动优化实战篇!架构师必备技能

欢喜学安卓

android 程序员 面试 移动开发

Flink TaskManager 内存模型详解

JasonLee实时计算

flink

组件化规范是如何设计的(二)_文化 & 方法_Think体验设计_InfoQ精选文章