💬Клуб Vue.js-разработчиков👤Mykyta🇺🇦@rookie_mistake💬9 ответов📅 6 февраля 2026 г. в 09:21

всем привет. Подскажите плиз как можно через CSS selector :has() проверить прокинуть ли слот или...

всем привет. Подскажите плиз как можно через CSS selector :has() проверить прокинуть ли слот или нет? (ведь мы не знаем ни тега ни классов что могут быть прокинуты)
error': hasError }">
мне нужно padding-right - добавлять или убирать в зависимости от того прокинут слот в end или нет
Реклама
📢

Дигитал трафик

Канал о digital-маркетинге, трафике и росте бизнеса

@trafficisobar

Ответы9

С
Сергей Дёмин@DavyJones21👍3⭐ Лучший ответ
6 февр., 09:34
const slots = useSlots() v-if=”slots.end
👍2🤯1
M
Mykyta🇺🇦@rookie_mistake0
6 февр., 09:24
пока в голову пришло только - обернуть slot end - в див с каким то классом - и проверять - пустой он или нет через :empty
Лучше через проп настраивать такое
M
Mykyta🇺🇦@rookie_mistake0
6 февр., 09:30
а как через проп - и чем лучше? я просто не вижу пока как по другому, без создания доп класса чисто для добавления padding-right
Лучше тем что просто, понятно и быстро. :has медленно, не очевидно и нарушает изоляцию компонента.
А обернуть в див, задачи ему стили и проверку v-if что слот передан кто запрещает сделать?
M
Mykyta🇺🇦@rookie_mistake0
6 февр., 09:33
а как сделать прочерку что слот передан? ну типо я просто всегда делал слот можно прокинуть а вот проверить прокинут он или нет - не доводилось пока
M
Mykyta🇺🇦@rookie_mistake0
6 февр., 09:34
спасибо, посмотрю
M
Mykyta🇺🇦@rookie_mistake0
6 февр., 09:37
If using TypeScript, defineSlots() should be preferred instead.