请使用 VSCode 开发,并安装以下插件 ——
eslintstylelintvue-vscode-extensionpack
-
对于 bug,请先创建 issue,然后再走 PR 流程。
-
对于新特性 ——
-
已经讨论过的特性,请先确定是否有人正在开发,避免重复开发。
-
暂未纳入开发计划的新需求,请创建 issue。
-
请遵守开发规范,不要擅自添加项目依赖(如有必要,请先联系项目负责人)。
- 关于 Commit Message:
- 请描述清楚,可以使用中文。
- 请使用
yarn commit(npm run commit) 或者npx git-cz替代git commit。
下面是一些 UI 组件在开发时需要考虑的通用原则:
- HTML 代码是否符合语义,包括标题的使用
- 键盘操作,如果是模拟原生的实现,比如
select,尽量与浏览器原生的组件交互保持一致 - ARIA
- WCAG 2.0
具体每个组件的要求可以参考 https://inclusive-components.design/
某些可以交互的组件会触发事件,比如 change等,请考虑以下事件是否有必要实现:
- change / input
- blur
- focus
- error
对于 change/input 事件,我们希望 callback 函数的参数为一个 Event 对象,其结构如下:
{
target: {
value: 'some value'
}
}- 不要在组件样式种直接出现颜色、长度等值,把这些值提取成 CSS 变量,让使用组件的人可以配置
- 考虑 prop 的合理性,通过 slot / 高阶组件实现定制