从 Rest API 实体更新后刷新屏幕未显示最新数据?
Refreshing the screen after entity update from Rest API is not showing latest data?
重现步骤 -
- 我已经使用 CUBA REST 更新了实体数据 API。
- 我在浏览器中点击了刷新按钮,确实刷新了,但是实体查看器中的数据仍然显示旧的。所以我关闭实体查看器并再次打开 - 它反映了新的变化。
我认为如果通过 REST API 更新实体查看器,则刷新对实体查看器不起作用。
这是一个错误还是有任何解决方法?
如果您的意思是通过 F5 刷新整个页面,它不会重新加载您的数据,原因如下:
CUBA generic UI基于Vaadin,这意味着它将页面上显示的所有组件的状态和数据存储在Web服务器内存中。
当您按下 F5 键时,您的浏览器只会将此状态从服务器加载到页面。
为了从中间件重新加载数据到表现层,您需要在Web服务器上刷新它,例如通过重新打开屏幕。
一个快速的解决方法是将 refresh button
添加到 UI。请检查下面的屏幕截图以添加刷新按钮。我认为这就达到了目的。
- 创建通用 UI 时,单击“显示高级属性”。
Show Advanced Properties > Table Actions > refresh
.
- 现在您可以在网络中看到
Refresh
按钮 UI,因此用户可以单击刷新按钮而不是加载页面。
重现步骤 -
- 我已经使用 CUBA REST 更新了实体数据 API。
- 我在浏览器中点击了刷新按钮,确实刷新了,但是实体查看器中的数据仍然显示旧的。所以我关闭实体查看器并再次打开 - 它反映了新的变化。
我认为如果通过 REST API 更新实体查看器,则刷新对实体查看器不起作用。 这是一个错误还是有任何解决方法?
如果您的意思是通过 F5 刷新整个页面,它不会重新加载您的数据,原因如下:
CUBA generic UI基于Vaadin,这意味着它将页面上显示的所有组件的状态和数据存储在Web服务器内存中。
当您按下 F5 键时,您的浏览器只会将此状态从服务器加载到页面。
为了从中间件重新加载数据到表现层,您需要在Web服务器上刷新它,例如通过重新打开屏幕。
一个快速的解决方法是将 refresh button
添加到 UI。请检查下面的屏幕截图以添加刷新按钮。我认为这就达到了目的。
- 创建通用 UI 时,单击“显示高级属性”。
Show Advanced Properties > Table Actions > refresh
.
- 现在您可以在网络中看到
Refresh
按钮 UI,因此用户可以单击刷新按钮而不是加载页面。