Поменять конвертер на привязку в Vaadin 10 Flow?
При установлении привязки с помощью компоновщика привязок мы можем указать конвертер для передачи между типами, например, используя String
ориентированного TextField
работать со вспомогательным значением типа Integer
,
binder
.forField( this.phaseField )
.withConverter(
new StringToIntegerConverter( "Must enter an integer number" )
)
.bind( Panel::getPhase , Panel::setPhase ) ;
Есть ли какой-нибудь способ получить / изменить / заменить этот конвертер позже, после того, как будет установлена привязка?
1 ответ
За комментарии, опубликованные на вопрос...
нет
Нет, вы не можете заменить Converter
само собой.
обходные
Пара возможных обходных путей:
- Снимите обвязку, заменив ее свежей
Binder.Binding
используя ваш другойConverter
, - Реализовать оригинал
Converter
в качестве оболочки / прокси, которая делегирует другому конвертеру. Выключайте этого делегата по мере необходимости.