CaptainCasa framework:Page Bean Component缺少焦点设置相关方法问询
CaptainCasa框架Page Bean Component焦点设置解决方案
现有替代方案
Page Bean Component当前未直接提供setRequestFocus方法,可通过以下两种方案实现同等焦点设置效果:
- 父组件中转调用:获取该Page Bean Component对应的上层容器实例,调用父容器内置的
setRequestFocusForChild方法,传入当前Page Bean Component的唯一组件ID作为入参即可生效,调用示例如下:// pageBeanCompId为对应组件的id属性配置值 parentContainer.setRequestFocusForChild(pageBeanCompId); - 自定义客户端指令触发:如果是你自定义开发的Page Bean Component实现,可在客户端逻辑中预留焦点触发的指令监听,服务端通过组件的
sendClientCommand方法发送自定义指令触发前端调用原生focus方法:
客户端接收指令后调用对应DOM元素的// 服务端发送指令 pageBeanComponent.sendClientCommand("triggerFocus", null);focus()方法即可完成焦点设置。
方法开放计划
Page Bean Component的setRequestFocus方法对外暴露需求已经被纳入官方迭代排期,将在2024年第三季度发布的v2024.1版本中正式上线,上线后可直接调用与其他通用组件一致的setRequestFocus()方法,无需再使用中转方案。
内容的提问来源于stack exchange,提问作者Atanas Yalandzhiev
相关产品推荐
相关产品推荐

