在我使用 springboot 的 vaadin flow 项目中,我遇到了一个问题,即无法绑定带有组合框的枚举值。我在下面提供了我的代码。这里有人可以帮助我吗?
组合框实例化:
private ComboBox<Country> nationality = new CompoBox<>("Nationality");
Run Code Online (Sandbox Code Playgroud)
绑定代码:
binder.forField(nationality)
.bind(Coach::getNationality,Coach:setNationality);
Run Code Online (Sandbox Code Playgroud) 我使用 Vaadin 创建了一个包含单个 TreeGrid 的简单 Web 应用程序。TreeGrid 出现了,但没有用于展开或折叠根元素(“Year 2010”或“Year 2011”)的句柄,尽管有子元素。当我使用 expand(..) 方法时,树被展开(如截图所示),但没有图标可以折叠它。在下面的屏幕截图中,“Year 2011”是展开的根节点,其中“Customer Project1”和“Customer Project 2”是子节点。该项目是使用 Maven 构建的,我使用 vaadin-bom 版本 13.0.2 和 vaadin-grid-flow-3.0.3.jar。屏幕截图下方是我使用的代码。我认为问题一定出在方法 createTreeGrid() 中。Vaadin 的工作示例可以在这里找到 Vaadin 示例
那么有人对如何解决这个问题有任何想法吗?任何帮助表示赞赏... :-)
托尔斯滕
package hello;
@Route
public class MainView extends VerticalLayout
{
public MainView()
{
add( createTreeGrid() );
}
private TreeGrid<Project> createTreeGrid()
{
TreeGrid<Project> treeGrid = new TreeGrid<>();
final List<Project> generateProjectsForYears = generateProjectsForYears( 2010, 2016 );
treeGrid.setItems( generateProjectsForYears, Project::getSubProjects );
treeGrid.addColumn( Project::getName ).setHeader( "Project Name" ).setId( "name-column" );
treeGrid.addColumn( Project::getHoursDone ).setHeader( "Hours …Run Code Online (Sandbox Code Playgroud) 如何在 Vaadin 下载 pdf?看起来它与锚按钮有关,但不知道如何下载它。
我查看了多种资源,但没有一个有帮助。这是一个预先编写的 pdf,不是动态创建的,因此消除了一堆问题。这个是围绕 Vaadin7 设计的,这对我没有帮助。
如何将 Maven Vaadin 14 项目中的默认前端文件夹位置从 更改${project.basedir}/frontend为${project.basedir}/src/main/frontend?
另外,Vaadin 插件在 Maven 构建输出目录中输出前端文件夹,而不是我期望的 war 爆炸目录。
由于我没有将此文件夹映射到我的 web.xml 文件中,它如何使其工作?
如何让它将前端文件夹放入战争存档中,并查看它使用哪个配置来使编译的前端对我的应用程序可见?
我有一个带有 Spring Boot 和 Spring Security 配置的 Vaadin 14.0.10 应用程序。我正在尝试将其更新到 14.5.4,但更新后,当我尝试加载应用程序时,出现空白页面。服务器日志上没有错误,但在浏览器控制台上,显示两个错误:
Refused to execute script from 'http://localhost:8080/login' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
Run Code Online (Sandbox Code Playgroud)
和
login:1 Failed to load module script: The server responded with a non-JavaScript MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.
Run Code Online (Sandbox Code Playgroud)
查看“网络”选项卡,似乎两者webcomponents-loader.js都vaadin-bundle-*.cache.js获得状态 302“脚本/重定向”。这两个文件都是从下面提供的/VAADIN/build。
起初我认为这可能是 Spring Security 配置问题,但在我的WebSecurityConfigurerAdapter实现中,我有:
Refused to execute script from …Run Code Online (Sandbox Code Playgroud) 我想通过属性设置富文本编辑器组件的 html 值。
下面的标签和属性会生成下面的打印屏幕。如何按属性设置 html 值?
<vaadin-rich-text-editor html-value="<p>Hello</p>"></vaadin-rich-text-editor>
Run Code Online (Sandbox Code Playgroud)
在元素检查中,我可以看到该值,但设置的值只是而<p><br></p>不是<p>Hello</p>。(参见下面的打印屏幕)
例如,在Select组件中,所选值的呈现方式如下所示。但是,当涉及到时,ComboBox它不会呈现,仅在下拉列表中呈现,如下所示。我需要使用,ComboBox因为我需要搜索功能,即在输入值时选择项目,因为可能有很多值。Select理想情况下,合并and会很棒,ComboBox但除非我想知道是否有办法呈现所选值。
我想向我的 vaadin 网格组件添加一个可排序的日期列。不幸的是,它不适用于格式化日期,我认为格式化日期对象后它只是一个字符串,因此使用此列进行排序无法正常工作,但无论如何我需要一个解决方案。我已经尝试过这个解决方案,但它也不起作用:
grid.addColumn(new LocalDateTimeRenderer<>(MyObject::getCreated,
DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT, FormatStyle.MEDIUM)
.withLocale(Locale.GERMANY).withZone(ZoneId.of("Europe/Paris"))))
.setHeader("Created").setSortProperty("created");
Run Code Online (Sandbox Code Playgroud)
你还有别的想法吗?
谢谢
我们目前正在尝试实现一个非关键验证层,该层根据某些验证器检查字段输入,而不将表单标记为“无效”,而是标记为“不符合规范”,以便我们可以向用户突出显示字段。特别是,我们正在讨论具有下限和上限的数字范围,这些范围应突出显示输入字段作为某种“超出规格”警告。输入本身被认为是有效的,但“不符合规范”,而用户仍然应该能够保存数据。
这是一个例子:
这意味着正常的活页夹验证仍应阻止保存,而附加的非关键验证应仅突出显示它,但不会阻止它。
我们目前在 vaadin 版本 14 中使用 vaadin 绑定器,并使用转换器和验证器的功能。是否有可能将我们的层添加到 vaadin 绑定器中,以便它能够在我们当前的使用情况下流畅地运行?或者除了正常的 vaadin Binder 使用之外,我们是否还必须构建自己的非关键验证层?在理想的情况下,我们会在转换和验证阶段后将其固定:
我希望我的描述足够了。如果有任何问题,请告诉我,我会尝试更详细地描述它。提前致谢。
vaadin ×10
vaadin-flow ×10
vaadin14 ×4
java ×3
centering ×1
date ×1
layout ×1
maven ×1
spring ×1
treegrid ×1
vaadin-grid ×1
validation ×1