当您构建 Vaadin 时,它会生成两个文件:package.json 和 package-lock.json。
我需要将它们保留在我的 VCS 中(在我的例子中是 Git)吗?
我有一个简单的 CustomComponent,其中 Person 是一个简单的数据类,有两个字符串 TextField:name 和 sname。
这是班级:
data class Person(var name:String, var birth:LocalDate)
class PersonField : CustomField<Person>(){
private val nameField:TextField
private val birthField:DatePicker
init {
nameField = TextField().apply {
placeholder = "Name"
addValueChangeListener{updateValue()}
}
birthField = DatePicker().apply {
placeholder = "Birth"
addValueChangeListener{updateValue()}
}
add(nameField, birthField)
setWidthFull()
}
override fun setPresentationValue(person: Person?) {
if (person != null) {
nameField?.value = person.name
birthField?.value = person.birth
}
}
override fun generateModelValue(): Person {
return Person(nameField.value, birthField.value)
}
}
Run Code Online (Sandbox Code Playgroud)
这是我使用两个验证器的活页夹:
binder.forField(personField)
.withValidator({ value …
Run Code Online (Sandbox Code Playgroud) 我喜欢Vaadin 详细信息组件。但看起来它总是预先渲染的。是否可以将Details组件变成延迟加载模式?
我想在用户展开面板时呈现详细信息内容。可以用Details组件来实现吗?如果不是,可以使用什么来实现这种行为?
在 Vaadin 23.1.0 应用程序的 LoginView 中,我可以Anchor
导航到 Microsoft Azure Login URL: add(new Anchor("/oauth2/authorization/azure", "Login with MS Azure AD"));
。
问题:当我单击该锚点/链接时,浏览器(Firefox 101.0.1 和 Chromium 103)中的 URL 会更新为http://localhost:8080/oauth2/authorization/azure
,但浏览器无法导航。
问题:如何让该锚点导航到给定目标?
我尝试过的:
href
为Anchor
“https://google.com”时,它就会导航。其他观察结果:
当我单击锚点时,浏览器会向 Vaadin 服务器发出一个请求,其中包含以下请求:{"csrfToken":"10c44508-3e55-455c-b4b1-86b7d2390f44","rpc":[{"type":"publishedEventHandler","node":1,"templateEventMethodName":"connectClient","templateEventMethodArgs":["flow-container-root-2521314","ROOT-2521314","oauth2/authorization/azure","",null],"promise":4}],"syncId":4,"clientId":4}
以及以下响应:
for(;;);[{"syncId":5,"clientId":5,"execute":[["Systemanmeldung","document.title = $0"],["Systemanmeldung","document.title = $0"],[false,[0,3],"return (function() { this.serverConnected($0)}).apply($1)"],[4,null,[0,1],"return (function() { this.$server['}p']($0, true, $1)}).apply($2)"]]}]
假设我有一个行政观点。在视图的构造函数中,我检查用户是否具有ADMIN
角色。然后我创建一个视图。在用户与视图交互期间,我看到许多 Vaadin 内部客户端-服务器调用。我是否应该担心这些通话的安全问题,因为我可能会被黑客攻击。或者它是安全的,Vaadin 将处理这些调用的安全问题?
意图:我想从 Vaadin 23.2.10 切换到 23.3.1。
我做了什么:在 pom.xml 中,我将 Vaadin 版本从 23.2.10 更改为 23.3.1。
发生了什么:之后应用程序(Spring Boot 加 Vaadin)启动,但 UI 不显示。相反,我看到了这条消息:
问题:这些版本之间的迁移有什么特别之处吗?https://vaadin.com/blog/vaadin-23.3-kubernetes-cloud-new-ui-components上的指南只是说“如果您使用的是 Vaadin 23.2.x,请将 pom.xml 中的 Vaadin 版本更新为 23.3.0 ”。
我尝试过的以及其他观察结果:
感谢虚拟化,我多次获得相同的开发环境。当 Vaadin 版本为 23.2.10 时,一切正常。切换到 23.3.1(或 23.3.0)后,UI 不再显示。
当从 23.3.1/23.3.0 切换回 23.2.10 时,UI 启动,但 UI 中显示一条错误消息:“
[TypeScript] Cannot find module '@vaadin/tooltip' or its corresponding type declarations.
/home/[mypath]/frontend/generated/jar-resources/tooltip.ts:1:25
> 1 | import { Tooltip } from '@vaadin/tooltip';
| ^^^^^^^^^^^^^^^^^
2 |
3 | const _window …
Run Code Online (Sandbox Code Playgroud)ProgressBar
下面是在 Vaadin Flow(版本 23)中显示不确定的代码:
ProgressBar spinner = new ProgressBar();
spinner.setIndeterminate(true);
spinner.setVisible(true);
Run Code Online (Sandbox Code Playgroud)
唯一的事情是,这现在似乎创建了一个ProgressBar
来回的东西,我想知道是否可以将其显示为圆形。我可以通过加载图标、动画 GIF 等来做到这一点,但是可以通过类来实现吗ProgressBar
?