我目前正在使用包含组的列表框处理 ZK 屏幕。由于您不能(据我所知)使用 DataBinder 使用 GroupsModel 设置模型,因此我手动创建一个并调用 setModel。要配置 Listgroups 和 Listitems,我需要创建一个 ListitemRenderer,我已经完成了。
问题是,每当您在屏幕上打开或关闭一个组时,它都会与服务器通信以将该组设置为打开,并为每个可见行再次调用 ListitemRenderer。这导致用户界面滞后。
是否有可能让 ZK 在客户端缓存 Listgroups 和 Listitems 的内容,这样打开/关闭组就不会与服务器通信并且不会再次呈现每一行?使用这个系统,行的内容不会改变,直到用户执行另一个搜索,或者如果他们拖放项目。
编辑:我最终只是自己构建了 Listgroups 和 Listitems 并使用 appendChild 添加它们。不需要模型或渲染器,所以一切都在客户端完成,这意味着它非常敏捷。不过,很高兴知道如何使用模型/渲染器完成它。