A página de componentes no site Vaadin menciona o suporte para carregamento lento (e filtragem remota) como o primeiro recurso vaadin-combo-box
:
Mas mais do que um recurso adequado, é apenas expor um filtro para deixar outro algo substituir os itens. Um provedor de dados adequado com suporte de paginação para rolagem infinita (como em vaadin-grid
) seria preferível.
Algum comentário sobre isso? Talvez não seja uma alta prioridade para o componente da web em si, mas da perspectiva dos desenvolvedores Java tentando portar aplicativos do FW8 para o Flow, isso é um grande bloqueador quando por trás de ComboBox
há um enorme pool de itens e o o uso de um provedor de dados preguiçoso é obrigatório.
É verdade que a caixa de combinação não tem uma API de carregamento lento adequada no momento. Este é um bom candidato para aprimoramento. Deve estar alinhado com a API dataProvider da grade.
Esse é um tipo de recurso que os usuários antigos do Vaadin presumem estar lá. Não posso considerar o Vaadin 10 pronto antes que nossa combo-box possa lidar com um grande número de opções sem sufocar o navegador ou a rede. Por favor, faça isso!
Oi,
Eu concordo totalmente com @mstahv . Depois de 3 aplicativos de produção com V8, comecei um novo projeto há 2 meses e tirei o V10. Lidar com grandes conjuntos de dados foi uma das principais características que pegamos no Vaadin e também pagamos pela assinatura. Sinceramente, nem considerei que esse recurso estivesse faltando. Agora temos TextField com Grid abaixo para simular a auto-sugestão. Realmente parece estranho.
Este e o # 88 são evidentemente os recursos mais solicitados, mas percebo, a partir de várias discussões com a equipe, a vontade de reformular o código do componente antes de introduzir novos recursos. De fato, existem algumas linhas obscuras que podem assustar outros colaboradores 😃
A equipe pode lançar alguma luz sobre a evolução futura deste componente? Novos recursos serão adicionados à base de código atual ou haverá uma reformulação ocorrendo antes disso?
@tomivirkki , você tem uma boa resposta para @heruan? Também estou interessado em ouvir a opinião da equipe sobre a manutenção deste componente, se ele precisaria de uma refatoração / reescrita antes de adicionar recursos mais complexos?
Embora a API provavelmente não veja muitas mudanças, desse ponto de vista, se for razoável, poderíamos primeiro enviar esses recursos tão solicitados e, em seguida, começar a trabalhar na reescrita.
Estamos fazendo algumas pesquisas sobre como seria fácil adicionar esse recurso ao código-fonte atual. Na melhor das hipóteses, não exigiria mudanças maiores na fonte existente, mas a maior parte poderia ser incluída como um mixin (como no caso do vaadin-grid ).
@heruan e @mstahv apenas para ter certeza, você está ciente da API filteredItems
de <vaadin-combo-box>
? Ele pode ser usado para mostrar qualquer opção personalizada na lista suspensa da caixa de combinação enquanto ignora a filtragem interna. De forma semelhante ao campo de pesquisa do Google; você digita algo nele e obtém uma lista de sugestões relevantes abaixo do campo. No caso de <vaadin-combo-box>
você pode obviamente ter muito mais opções (o array filteredItems
).
Existe algum caso de uso relevante que requer uma API de provedor de dados lenta e dedicada e que não pode ser coberto pela API filteredItems
?
Estou aqui apenas porque a equipe do Flow disse que precisa primeiro para o componente da web ;-) Acho que selecionar uma pessoa de um grande conjunto é um bom exemplo. Conjunto tão grande que não faz sentido enviá-los todos ao navegador de uma vez.
@tomivirkki , acho que o caso de uso que Matti descreve seria difícil de implementar. Você precisaria manter o ID / índice do item selecionado em algum lugar e, em seguida, quando o usuário clicar na caixa de combinação para abrir, buscar a página correta de itens (que contém o item selecionado), enquanto ainda se certifica de que a lista suspensa da caixa de combinação mostra a posição de rolagem corretamente.
Só para deixar claro: a caixa de combinação é diferente do preenchimento automático.
@tomivirkki Estou ciente dos recursos de filtragem, que podem restringir o número de itens carregados, mas estamos enfrentando casos em que o filtro retorna muitos itens, então a transferência de dados ainda é um problema. Rolar a lista suspensa deve paginar os itens como se estivessem em <iron-list>
eu diria.
Em minha experiência, percebi que alguns usuários esperam conseguir rolar uma caixa de combinação para encontrar o item desejado sem digitar nada.
Oi,
É possível testar e usar esse recurso com V11 Java? Ou quando podemos esperar bi no V11 Java? Obrigada.
@maticpetek o progresso na versão Java pode ser rastreado em vaadin / vaadin-combo-box-flow # 131
Esperamos conseguir lançar a versão estável 4.2.0 em algumas semanas para que possa ser incluída no V12, que entrará em fase beta no início de novembro.
Comentários muito úteis
Esse é um tipo de recurso que os usuários antigos do Vaadin presumem estar lá. Não posso considerar o Vaadin 10 pronto antes que nossa combo-box possa lidar com um grande número de opções sem sufocar o navegador ou a rede. Por favor, faça isso!