Performance: List group component
This affects page load speed and rendering performance by how many DOM nodes are created and how complex the styles are for list items.
<ul class="list-group"> <li class="list-group-item list-group-item-action" tabindex="0">Item 1</li> <li class="list-group-item list-group-item-action" tabindex="0">Item 2</li> <!-- repeated many times --> </ul>
<ul class="list-group"> <li class="list-group-item"> <button class="btn btn-link">Item 1</button> </li> <li class="list-group-item"> <button class="btn btn-link">Item 2</button> </li> <!-- repeated many times --> </ul>
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| List items with nested buttons | High (extra button nodes per item) | Multiple reflows per item interaction | High paint cost due to complex styles | [X] Bad |
| List items with list-group-item-action only | Low (one node per item) | Single reflow on list update | Low paint cost with simple styles | [OK] Good |
list-group component?list-grouplist-group component is designed to group related items in a list format.list-group focuses on listing items with consistent styling.list-group to apply styles.<ul> or <div> with list-group is used; here <ul> with class list-group is correct.<ul class="list-group"> <li class="list-group-item active">Home</li> <li class="list-group-item">Profile</li> <li class="list-group-item disabled">Messages</li> </ul>
active highlights the item, disabled greys out and disables interaction.<ul class="list-group"> <li class="list-group-item">Item 1</li> <li class="list-group-item active">Item 2</li> <li class="list-group-item disabled">Item 3</li> <li class="list-group-item" disabled>Item 4</li> </ul>
disabled as a class, not as an HTML attribute on <li>.<li> uses disabled as an attribute, which is invalid and won't style properly.<a> tags with classes list-group-item and list-group-item-action for clickable items.<li>, A misses list-group-item-action, D uses li without proper container and classes.Pass the test and this pattern moves unknown