Only show the first letter
Posted on in WebTime for another tiny lesson! We’re working with a third-party Vue datepicker, and there was a design decision to only show the first letter of the weekdays above the calendar. The datepicker let us specify those values via props. All plain sailing, or so we thought.
The problem? The library assumes you’ll be passing unique values, and it uses them as the :key
property in a loop. Single letter days lead to T
and S
collisions and Vue throws a warning for duplicate keys. We also couldn’t change that logic without forking the plugin, nor add additional markup to the output.
The solution was to use full weekdays, and hide all but the first letter with CSS. Here’s how:
.datepicker thead {
font-size: 0;
}
.datepicker thead ::first-letter {
font-size: 1rem;
}
Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
Posted on in Web