问题标签 [vaadin22]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vaadin - 带有 CallbackDataProvider 的 Vaadin Grid 总是抛出 java.lang.IndexOutOfBoundsException:
我正在尝试优化将应用程序中的大表加载到com.vaadin.flow.component.grid.Grid
. 为此 - 而不是传递整个巨大的List<HistoryElement>
使用grid.setItems(allData)
(这总是导致 UI 长时间冻结) - 我现在使用 a ,这将返回和CallbackDataProvider
之间的元素作为 a 。该实现与此处的示例非常相似:How to Vaadin CallbackDataProvider make an asyncronous fetch data? ,即我总是从整个列表的一小部分 (a) 创建一个 Stream 。offset
offset + limit
Stream<HistoryElement>
sublist(...)
原则上,这似乎有效,除非每次我滚动到列表末尾时,即当offset + limit
达到可用元素的最大值时。那时我总是会得到一个巨大的异常堆栈跟踪,如下所示(只有违规索引会有所不同)。
但是:该跟踪中没有一行我自己的代码!我怎样才能避免这种情况IndexOutOfBoundsException
?我在这里可能做错了什么,后来触发了该异常?或者可能是Grid
-widget 内的索引计算有问题?任何提示将不胜感激!
这是使用 Vaadin v22.0.2 和 Java 11。
java - 无法构建 JAR 应用并将其部署到 Azure Web 应用
当我尝试构建我的应用程序以将我的项目上传到天蓝色时,我遇到了下一个错误并使用“mvn -e -X -Pproduction -DskipTests clean package”对其进行调试:
这就是我的 pom.xml 的样子,我认为我没有错过任何依赖或任何东西,我花了一整天的时间试图弄清楚这里发生了什么,谢谢。
知道如何处理这些问题吗?
编辑:如果你想自己尝试,这是回购。
https://drive.google.com/file/d/1-o6K3DKMu9TdA0QFYqyP4rgWoAChnRNh/view
java - 组合框和后缀槽
我想在 ComboBox 的后缀槽中添加一个组件。基于旧的 Vaadin 论坛主题,您可以在 Vaadin 13 中执行此操作,但它不适用于 Vaadin 22。是否可以这样做?
java - 导航到同一视图时如何强制视图类在 Vaadin Flow 中重新加载
假设我的观点是:
如果我单击上面的 Test 按钮,则不会实例化构造函数,但是beforeEnter()
会调用该方法。在我的情况下,我更喜欢实例化整个视图类,因为该beforeEnter()
方法包含视图需要的一些逻辑和设置代码,如果调用两次可能会弄乱组件。特别是beforeEnter()
做一些检查,根据细节可能会调用不同的组件渲染路径。
spring-boot - 在 Vaadin SpringBootApplication 中设置 Atmosphere 设置
我在 Spring Boot 应用程序中使用 JDK17 和 Vaadin 22 (Flow)。我希望设置 Tomcat 使用的气氛设置。
我尝试了以下方法,但没有设置值:
routes - vaadin 22 找不到默认路由
我的 vaadin Web 应用程序有一个默认路由。我正在运行没有springboot的tomcat 8.5。
我没有 web.xml 而是使用 @WebServlet 注释
当我尝试访问时:
http://localhost:8080/context/
我期待被带到默认视图。相反,我得到了经典的 vaadin no route found 页面。
那么我做错了什么?
vaadin - 是否有一种简单的方法可以将 Label 的样式设置为使用与 Vaadin 14 及更高版本中的 FormLayout 相同的样式?
具体来说,如果我有:
而不是 aFormLayout
我想使用 aVerticalLayout
但字段具有相同样式的标签。
换句话说,什么代码将替换该方法setLabelStyleSameAsLabelForTextFieldInFormLayout()
?
重要 ->我正在尝试以不涉及创建 CSS 的方式来做这件事,这样它就更有未来的证明。也就是说,如果 中的标签FormLayout
被更新,那么 中的标签也会被更新VerticalLayout
。
javascript - 使用 Javascript 日期集成具有属性的 Web 组件
我正在使用 Vaadin Flow,版本 22。我正在尝试集成一个 Web 组件,该组件具有需要一组对象的属性,并且这些对象使用 Javascript 日期。
为了给您一个想法,以下是您应该如何在 Javascript 环境中使用它:
我还没有弄清楚如何将这种数据从 Java 代码传递到 LitElement。到目前为止,我坚持使用下面的代码(实际上,通过 Jackson 将我的数据编组为 JSON),但如果我尝试在其中使用日期,它将只是一个 ISO8601 字符串,而不是实际的 Javascript 日期。 .
你能帮我弄清楚怎么做吗?
提前致谢 !
编辑:在探索 Vaadin 代码后,我意识到没有内置的方法可以自动将我的数据解析为日期。所以我最终制作了一个扩展第三方类的 JS 类,并为其添加了一个方法setData
,该方法将解析传入的 JSON 数据并将每个 ISO8601 字符串转换为日期,然后执行this.data = myNewData;
. 并从我调用的Java中的相应组件
vaadin - 如何在应用程序启动时设置初始 url
我有一个非常简单的 Vaadin Flow 项目,用于设置具有工作登录功能的大学课程。
我知道该项目在我的默认浏览器中自动打开到 localhost:8080,但我试图让它最初打开到我的登录页面以避免被路由到错误页面。
我通过简单地在 URL 后添加“/login”来解决这个问题来访问我的项目,但我想知道在我的项目中的什么地方我可以在启动时将它打开到“localhost:8080/login”,如果这甚至可能的话。谢谢!