Vaadin Flow: получить текущие параметры QueryParameters во время onAttach - PullRequest
1 голос
/ 29 марта 2019

как можно надежно получить QueryParameters во время onAttach?

Ситуация:

Моему компоненту нужны эти параметры для целей конфигурации и как beforeEnter (который обычно имеет .getLocation) не вызывается при начальной загрузке. Мне нужно получить ту же информацию во время onAttach.


ПРИМЕЧАНИЕ:

По какой-то причине VaadinRequest.getCurrent() возвращает null

1 Ответ

1 голос
/ 05 апреля 2019

Даже если AttachEvent не знает Location, что BeforeEvent из setParameter знает.

Обходной путь (упрощенный):

@Route("workaround")
public class Workaround extends FlexLayout implements AttachNotifier, HasUrlParameter<String> {
    private Location currentLocation = null;

    /* ... */

    @Override
    public void setParameter(BeforeEvent event, @OptionalParameter String parameter) {
        // called before onAttach
        currentLocation = event.getLocation();
    }

    @Override
    protected void onAttach(AttachEvent attachEvent) {
        super.onAttach(attachEvent);

        QueryParameters qm = currentLocation.getQueryParameters();
        /* ... */
    }
}
...