SAP CRM系统UI checkbox的设计与实现
发布日期:2021-06-30 14:41:22 浏览次数:3 分类:技术文章

本文共 981 字,大约阅读时间需要 3 分钟。

SAP CRM checkbox的一个例子,如下图Main Partner列:

一个用户肉眼可见的Checkbox,在SAP CRM系统里由总共6个HTML标签组合而成。

当Checkbox里的勾选中时,最外层的wrapper div标签的class变为th-sapcb-chkd,chkd是checked的缩写。 内层a标签属性值aria-checked设置为true.

div内层一个隐藏的input标签,用于同ABAP后台进行值传递,其value属性值变为X.

当Checkbox勾选时,上述介绍的最外层wrapper div的class变为th-sapcb-blk, blk意为blank; 内层a标签的aria-checked属性设置为false,hidden input的value属性值置空。

而Checkbox的小勾视觉效果,通过a标签的CSS::before选择器实现。如上图黄色所示。

::before选择器的用法,通过下面这个简单的例子可以学会——在施加了::before选择器的HTML元素前部,添加选择器content属性指定的内容。

'\e05d’代表小勾:

我们试着在Chrome开发者工具里将这个content属性值改一改。’\e05c’代表hint,一个小感叹号:

'\e05d’代表group:

::before选择器的width和height属性控制Checkbox矩形框的宽和高:

这一套content属性值和对应的icon视觉效果图的映射关系,可以在这个链接里获得:

https://sapui5.hana.ondemand.com/test-resources/sap/ui/core/Icon.html

当然,SAP CRM的开发人员,是不会直接编写原生的HTML代码的。在SAP CRM里需要将一个控件定义成Checkbox,只需要实现这个控件绑定的模型节点字段的GET_P方法:

里面将控件的fp_fieldtype设置为field_type_checkbox.

Jerry之前的文章 提到,SAP CRM UI采用服务器端渲染技术,WebClient UI框架基于上述维护的控件元数据,为一个Checkbox控件,在ABAP端渲染出上述介绍的总共7个HTML元素。

更多Jerry的原创文章,尽在:“汪子熙”:

转载地址:https://jerry.blog.csdn.net/article/details/112426114 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:深入学习SAP UI5框架代码系列之七:控件数据绑定的三种模式 - One Way, Two Way和OneTime实现原理比较
下一篇:Angular数据绑定的学习笔记

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月08日 01时05分46秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章