Поменять конвертер на привязку в 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 в качестве оболочки / прокси, которая делегирует другому конвертеру. Выключайте этого делегата по мере необходимости.
Другие вопросы по тегам