java - Vaadin DateField 具有空值和占位符
问题描述
我对使用自定义空值的 Vaadin DateField 有疑问。
LocalDate emptyDate = LocalDate.parse("1900-01-01");
DateField field = new DateField()
{
@Override
public boolean isEmpty()
{
return getValue() == null || getValue().equals(emptyDate);
}
@Override
public LocalDate getEmptyValue()
{
return emptyDate;
}
};
field.setPlaceholder("yyyy-MM-dd");
field.setValue(emptyDate); // Shows "1900-01-01" instead of placeholder
field.setValue(null); // Shows placeholder "yyyy-MM-dd"
我希望在值等于空值时看到占位符,但它仅在值为空时才有效。DateField#setPlaceholder 的文档声明“设置占位符文本。占位符是在字段为空时显示的文本,以提示用户输入。 ”所以这似乎不像人们期望的那样工作?
覆盖 #formatDate(LocalDate) 也不起作用:
@Override
protected String formatDate(LocalDate value)
{
if (isEmpty())
{
return getPlaceholder();
}
else
{
return super.formatDate(value);
}
}
使用 Vaadin 8.6.1
解决方案
推荐阅读
- python - adb 输入水龙头很慢
- sql - Oracle 中获取字符串并插入的过程
- android - 使用 frida 绕过 Flutter 应用的 Sslpinning 中的空地址
- github - 身份验证已删除。请改用个人访问令牌
- c++ - 克隆带有散列的随机指针的链表
- python - 安装 cuDNN 后出现错误消息“无分配器统计信息”
- go - 在六边形架构中,周期性后台任务适合哪里?
- python - 如何使用python加载多个json文件并一一读取文件
- button - 我可以在将当前页面重定向到另一个表单时打开一个新标签吗?
- node.js - 使用 Node.js 和 React 将私有 S3 存储桶中的视频提供给经过身份验证的用户