页面可配置设计构想( 二 )


【页面可配置设计构想】(四)页面内容——组件
每一个组件都有自己独立的逻辑和UI,组件之间完全解耦,这样就可以很方便地通过排列模块来完成不同的页面定制化需求,使一个页面可以展示不同的内容 。原则上,组件并不依赖某一具体页面,组件也可以在不同的页面之间进行复用 。

  • 组件采用声明式编写,本质是一个json对象,封装由具体的框架去实现
  • 由于声明式的组件是一个json对象,当扩展组件功能或者改变组件行为时,可以通过覆写json对象的方式实现,最后交由框架封装
(五)页面交互
  • 传统页面元素事件:点击、移入、移出、弹框、跳转页面等
  • 业务事件:提交前、提交后、数据后处理等
问题与思考(一)布局复杂
页面布局不一定是网格化有序排列,布局样式多元,那么容器层面怎么支持与兼容是需要面临的问题
(二)组件复杂
业务组件复杂,组件入参形式多样,接入方式如何统一
(三)交互复杂
弹窗、跳转、校验、提示,各种前端交互纷杂多样
(四)业务需求迭代
  • 随着业务需求不断迭代,组件如何适应变化
  • 组件的状态数据和函数方法可以通过上述方法覆写,但是视图模板的变动如何支持?
  • 组件必须遵照容器布局系统规则暴露一些特定的属性和方法,便于注入一些数据源对象,便于容器布局系统统一管理组件
  • 画布定义好以后,在拖动组件到画布中编辑时,是否能修改画布布局? 如果能修改,技术复杂度是否可控?
(五)其他思考
  • 布局配置、渲染独立,不与业务系统耦合,制定组件接入规范;
  • 每个组件需要独立打包,组件内容牵涉业务数据调用、公共组件的调用封装问题;
  • 单个组件样式、业务相关数据与逻辑独立管理,组件之间互不影响 。
规划与步骤
  • 功能:把组件库做得更丰富,尽量提供更多的基础组件
  • 易用性:扩展组件自定义功能,支持更多的属性配置
  • 落地:适应新需求和变化




推荐阅读