Modificando dinamicamente o atributo style no Item da Lista de Tópicos

modifyClass em si não está obsoleto. É um método de personalização arriscado, e você deve tomar precauções ao usá-lo (conforme descrito na documentação que @don vinculou), mas não temos planos iminentes de removê-lo.

O motivo pelo qual estamos exibindo uma mensagem de obsolescência para component:topic-list e component:topic-list-items é que esses componentes são a implementação legada da lista de tópicos e não são usados quando a lista de tópicos do glimmer está habilitada. Agora, temos um conjunto de componentes glimmer como components/topic-list/item.

Portanto, tecnicamente, você poderia usar modifyClass nesses novos componentes. Mas, como são componentes glimmer, você não poderá modificar a tag de estilo através da classe JS, então isso não ajudará com o problema na postagem original.

Temos um modo semelhante de ‘masonry’ no componente de tema oficial d-topic-thumbnails, então vale a pena ver como isso é implementado. Adicionamos uma classe única a cada ‘linha’ da lista de tópicos:

Em seguida, renderizamos uma tag <style> dinâmica em um plugin-outlet separado, que visa esses nomes de classe:

Dito isso… é um pouco complicado, então talvez devêssemos considerar adicionar um valueTransformer específico para permitir a alteração do atributo style=. É um pouco complicado por causa das proteções xss/htmlSafe do Ember nesse atributo… mas tenho certeza de que poderíamos fazer algo funcionar.

3 curtidas