Open aentwist opened 1 year ago
there is no type table-cell
https://vuetifyjs.com/en/components/skeleton-loaders/#type
Hm. True. Where did it go? Should I do other things to emulate it's behavior (I need text
, but inline)?
In the docs
table-row -> table-cell@6
https://vuetifyjs.com/en/components/skeleton-loaders/#type
table-row
actually expand to now?table-cell
used to do?@MajesticPotatoe
table-row presents itself the same, table-cell just doesn't exist, and looks to just be replaced with text
table-row -> table-cell@6
=> table-row -> text@6
@MajesticPotatoe table-row
!= text@6
🤔 therefore I am left with nothing to customize the number of columns if I want the skeleton to be somewhat precise (i.e. text@7
). Should I open a new issue for this (unexpected?) behavior?
text@6
- what is with those widths?!
table-row
Edit: wow! Thanks for showing me Vuetify Play. Here is the reproduction.
it does = text@6, it just has some extra styling in the context of the table-row alias. I'll leave it up to @johnleider how he wants to proceed with this, whether to bring back table-cell or create a inline-text alias
We can add it back, nbd.
I'm not sure how useful it is, but I feel like including some inline text type, such as table-cell
, might provide completeness with the current suggested usage.
Potential workaround: d-inline
many VSkeletonLoader with trivial type
s. Are there disadvantages to using many VSkeletonLoader vs. one with many type
s in Vue 3? Unlikely. This calls into question the design of the VSkeletonLoader type
prop overall - which at least made sense for Vue 2 (if not Vue 3?). Simplifying this would be breaking and so is not possible at this time.
Another related counterpoint about tables. Using type table-cell
with the loading
slot feels good, but the best way for the VSkeletonLoaders to have accurate sizing is to use them inside td
cells. So really tables might be better served by not using the loading
slot and using v-if
inside each cell to display a single loader. Again suggests many components each having base type
s. Potential feature request.
Thoughts?
Mentioning this because I was looking for the exposed table-cell
type for prototyping but would actually prefer the inside-td
method described above for production if the widths don't line up well. Not trying to mislead you with this use case, although it is completely valid. And if there is a clear downside to using many VSkeletonLoader instead of one with many types - the tradeoff of correct "cell" widths vs. one component with e.g. type
table-cell@7
is a choice users should be able to make.
could always just bring back the types
prop (which let you defined your own custom types from the base presets, that are merged into type
).
I think creating a inline-text
type would probably be better though, and then table-row
could just be inline-text@6
, removing the table specific styling and making it more versatile. Then if you wanted to really create something custom, you could just define your own / override existing default type using the types
prop
Environment
Vuetify Version: 3.3.2 Vue Version: 3.2.47 Browsers: Firefox 113.0 OS: Ubuntu undefined
Steps to reproduce
Expected Behavior
bone
is definedActual Behavior
bone
is undefined🦴🦴🦴🦴🦴
infinite loop with warnings crashes the tab
Other comments
type="text"
works fine, for instance