У меня проблема с 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