问题标签 [vaadin10]

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.

0 投票
1 回答
83 浏览

data-binding - 在 Vaadin 10 Flow 中更改绑定上的转换器?

当使用 binding-builder 建立绑定时,我们可以指定一个转换器在类型之间进行调解,例如使用StringorientTextField来处理类型的支持值Integer

建立绑定后,以后有什么方法可以获取/更改/替换该转换器吗?

0 投票
2 回答
615 浏览

data-binding - 通过定义一对 SerializableFunction 对象来提供一个用于数据绑定的转换器

在 Vaadin 8 Framework 和 Vaadin 10 Flow 中,数据绑定功能让我们可以提供 aConverter在小部件的预期数据类型(例如Stringfor a TextField)和支持 bean 属性的数据类型(例如Integernumber)之间进行调解。

在此示例中,使用了内置Converter实现StringToIntegerConverter

但是Converter为其他类型定义一个呢?我怎样才能轻松地定义一个短而甜的Converter?例如,字符串到UUID的转换器。我想在a中显示规范的 36 个字符的十六进制字符串TextField,然后从另一个方向将该字符串解析回 UUID

我看到它Binder.BindingBuilder提供了一对withConverter都采用一对SerializableFunction对象的方法。

  • Binder.BindingBuilder::withConverter(SerializableFunction<TARGET,NEWTARGET> toModel, SerializableFunction<NEWTARGET,TARGET> toPresentation)
  • Binder.BindingBuilder::withConverter(SerializableFunction<TARGET,NEWTARGET> toModel, SerializableFunction<NEWTARGET,TARGET> toPresentation, String errorMessage)

➥ 那么如何定义SerializableFunction对象/类对呢?

我注意到这个接口列出了一个已知的子接口。这看起来很熟悉,我有一种预感,它是轻松定义一个简短的简单转换器的关键。但我不太理解 lambdas 的语法以及这里发生的所有事情。ValueProvider<SOURCE,TARGET>

不是在问如何编写一个实现Converter. 我在问如何编写一对参数以作为项目符号SerializableFunction传递给上面列出的方法。Binder.BindingBuilder::withConverter

引用该 JavaDoc

Interface Binder.BindingBuilder<BEAN,TARGET>

…</p>

withConverter

default <NEWTARGET> Binder.BindingBuilder<BEAN,NEWTARGET> withConverter(SerializableFunction<TARGET,NEWTARGET> toModel, SerializableFunction<NEWTARGET,TARGET> toPresentation)

使用映射函数将绑定映射到另一种数据类型,并将可能的异常作为错误消息。

映射函数用于在必须与绑定的当前目标数据类型匹配的表示类型和模型类型之间进行转换,模型类型可以是任何数据类型并成为绑定的新目标类型。调用bind(ValueProvider, Setter)时,绑定的目标类型必须与 getter/setter 类型匹配。

例如,可以使用适当的函数将 TextField 绑定到整数类型的属性,例如:withConverter(Integer::valueOf, String::valueOf);

类型参数:

NEWTARGET- 要转换为的类型

参数:

toModel- 可以将旧目标类型转换为新目标类型的功能

toPresentation- 可以将新目标类型转换为旧目标类型的函数

回报:

具有适当类型的新绑定

抛出:

IllegalStateException- 如果绑定已经被调用

0 投票
1 回答
2441 浏览

java - 如何在 Vaadin 10 中管理会话?

我在 Vaadin 10 中有一个处理文件的网页。如何让不同的用户有不同的会话?当我尝试在不同的浏览器中打开我的页面来处理文件时,我得到:

我在官方文档中找不到任何有用的信息或教程。目前我正在浏览 Baker App - 但我也找不到任何关于会话的信息。

Vaadin 版本:10.0.0.rc3
Spring Boot 版本:2.0.3.RELEASE
Java:1.8

0 投票
0 回答
150 浏览

spring - 使用 Vaadin 10 Spring Jpa 获取记录

大家,早安。我开始使用 vaadin 10,我正在尝试使用 Spring Jpa 在网格中设置项目,如下所示,但对我来说它标志着一个错误,这种情况不会发生在以前版本的 vaadin 中。

我收到以下错误:

据我了解,这是由我的服务中的@autowire 引起的。

我希望有人与我分享我如何解决错误的想法,谢谢:)

0 投票
1 回答
735 浏览

widget - Vaadin Flow (Vaadin 10) 中的 MenuBar 小部件丢失?

Vaadin Framework (Vaadin 8) 提供了一个MenuBar小部件,如手册中所述,并在 Sampler 中显示

当我将手册切换到“Vaadin 10”模式时,我找不到MenuBar小部件。我知道 Vaadin 10 (Vaadin Flow) 是对 Vaadin 的一次重大改写,这个小部件是改名还是不可用?

0 投票
1 回答
270 浏览

vaadin8 - 当 TextField 中的文本未完全显示时附加省略号,Vaadin 8 和 10

0 投票
1 回答
412 浏览

vaadin - HasUrlParameter#setParameter 中的 Vaadin Flow 重新路由不会更改 URL?

我的登录视图具有@Route("login")以下HasUrlParameter<String>几行:

当我调用登录视图时会显示的内容,AnotherView但 URL 仍然来自登录视图,即它是/login而不是/another-view。这是按设计工作的吗?我希望在浏览器中添加一个带有新 URL 的历史记录条目。我怎样才能做到这一点?此外,我尝试ui.navigateTo而不是重新路由,但这并没有做任何事情。

0 投票
2 回答
937 浏览

vaadin - Vaadin Flow Grid 没有高度

我有以下Grid显示 Java 系统属性:

当我替换setHeightby时,所有项目都会显示setHeightByRows(true)。但是,只要我没有指定systemPropertyGrid.setHeightByRows(true)网格在浏览器(Firefox,Edge)中的计算高度为 2 像素,即边框。但是,元素样式height设置正确,500px正如我在 Firefox 开发人员工具中看到的那样。

Vaadin Flow 中的错误?height浏览器最终怎么可能不使用元素样式呢?

截屏: 填充项目和高度设置为 500 像素但实际上高 2 像素的网格

SSCCE 使用 Vaadin Flow 弹簧启动器: my-starter-project_51443246.zip。调用 maven 目标 springBoot:run。

0 投票
2 回答
3007 浏览

java - 使用 Vaadin 10 自定义 Spring Security 登录

我正在尝试将 Vaadin 与 spring boot 一起使用,并且我也在使用 spring-security。这是我在WebSecurityConfigurerAdapter课堂上所做的配置。

这是我的登录视图。

我遇到的问题是,当用户被重定向到时,我总是看到一个空页面,/login但在检查 Html 页面后,我可以看到有 vaadin 元素,但它们没有出现在浏览器中。

0 投票
2 回答
1907 浏览

css - 如何在 Vaadin 10 中更改组合框的样式

我想调整组合框组件的 CSS。组合框添加了我的样式类custom1,它应该禁用左角的边框半径。

在我的shared-styles.html中,我尝试调整 CSS 属性:

这正在改变风格,但这并不是我想要的。根据docs,我应该按照这个 wiki为 Web 组件应用本地范围样式。所以,我尝试了:

但是,它不起作用,零件input-field的位置如下:

我猜这是一个问题,因为它是影子 DOM 下的影子 DOM?我该如何设计那部分?