169 похожих чатов

Есть какие-нибудь хаки срендарить слот, полученный из потомка по контексту,

без создания компонента с рендер функцией? Тип такого:

const SlotRender = defineComponent({
props: {
Slot: { type: Function },
},
render() { return h('td', this.$props.slot()); }
});

12 ответов

11 просмотров

> слот, полученный из потомка Это как?

Artem-Zabolotskiy Автор вопроса
Grigorii K. Shartsev
> слот, полученный из потомка Это как?

С помощью provide/inject. const columns = inject('table'); onMounted(() => { columns?.push({column: slots.default}); });

Artem Zabolotskiy
С помощью provide/inject. const columns = inject(...

Если так делать, то либо рендер функция, либо компонент отдельный, как slotrenderer выше. Последний можно в вычисляемом свойстве генерировать и в динамический компонент прокидывать. Но в целом выглядит крайне специфическим решение. И в передаче от родителя дальнему предку. И в мутации внедрённого свойства

Artem-Zabolotskiy Автор вопроса
Grigorii K. Shartsev
Если так делать, то либо рендер функция, либо комп...

Имхо полезно только для лоулевел ui компонент, типа таблиц, табов. Чтобы получить качественный DX. Вдохновился конечно el-table. <el-table><el-table-column #default="scope">любой валидный html со всеми vue фишками {{scope.prop}}</el-table-column></el-table>

Artem Zabolotskiy
С помощью provide/inject. const columns = inject(...

А если слоты поменяются после маунта?

Artem-Zabolotskiy Автор вопроса
Grigorii K. Shartsev
А если слоты поменяются после маунта?

Я правда не понял что имеешь введу под изменением слотов. Если данные внутри слота меняются то все прекрасно работает. Оно же по ссылке

Artem Zabolotskiy
Я правда не понял что имеешь введу под изменением ...

Когда в один момент времени слот передаётся, а в другой - не передаётся

Artem-Zabolotskiy Автор вопроса
Grigorii K. Shartsev
Когда в один момент времени слот передаётся, а в д...

Ну скоуп слоты кстати всегда должны быть на верху и они мне собственно и нужны.

Artem Zabolotskiy
Имхо полезно только для лоулевел ui компонент, тип...

если это все делается ради того, чтобы просто иметь возможность стилизовать строку/столбец через слот, то это лютый оверкилл какой-то

Artem Zabolotskiy
Я не знаю альтернативы 🙁

Обычно хватает scoped-slots, но надо смотреть, что именно вы делаете там образом)

Artem-Zabolotskiy Автор вопроса
Grigorii K. Shartsev
Обычно хватает scoped-slots, но надо смотреть, что...

Хватает scoped-slots для чего? Как-то отстал от жизни в последние время. Мб и правда способы красивее и лучше существуют. Есть референц?

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта