同一个视图在菜单中配置多个入口时,getPageTitle有问题

同一个视图,在菜单中配置多个入口,通过id区分。
image

视图类中通过getPageTitle提供了不同的title文本
image

image

但在实际运行中,如果在这几个菜单入口间进行切换,getPageTitle函数正常被调用,界面文字却没变化。
如果是从其他菜单入口切换到这几个入口,界面文字是正确的。

问题:
同一视图文件,在菜单中配置多个入口后,切换视图时getPageTitle函数虽然被调用,但界面上的title文本显示不正确。

不正确的title文本是视图标题,浏览器的title设置正确。

image

我看调用栈是能走到的:
image

而且标题也设置了:
image

是菜单设置中两个item调用同一个ListView,通过urlQueryParameters传递参数。
当在这两个菜单项之间切换时,pageTitle刷新了,viewTitle不刷新。
我看到viewTitle是在StandardMainView中定义并负责刷新的,但是菜单切换时如果是同一个ListVIew,StandardMainView中的updateTitle方法没有被调用。

明白了,我感觉是个bug @bryanyin .

这里可以先这样解决,在 Organization.list 里面:

@Subscribe
public void onReady(final ReadyEvent event) {
    getParent()
            .flatMap(p -> UiComponentUtils.findComponent(p, "viewTitle")
            .filter(c -> c instanceof HasText))
            .ifPresent(c -> ((HasText) c).setText(getPageTitle()));

}

GH issue: https://github.com/jmix-framework/jmix/issues/2472

主动修改viewTitle的方法是可以的,多谢。