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

Всем привет. В приложении предусмотрена куча модалок, которые открываются из

разных мест при разных условиях. Пока монтирую их сразу в одном месте, дабы отрабатывал transition, присваиваю refы и отображаю методом showModal('ref модалки'), который в самом компоненте модалки вызывает метод, ее отображающий. Далее надо подумать, как менеджерить это чере стор. Пока есть мысль сделать подобие шины через мутацию/экшн vuex. Это ок или можно как-то получше сделать?

19 ответов

15 просмотров

Модалку можно показывать там, где она нужна, с нужными содержимым. Или нужна физически одна модалка из разных мест и компонента не достаточно?

Ivan-Tseloban Автор вопроса
Grigorii K. Shartsev
Модалку можно показывать там, где она нужна, с нуж...

Есть компонент-шаблон модального окна. На его базе сделано несколько модалок. Все они висят в одном компоненте, допустим в корневом app.vue и вызываются методом оттуда же. Тут основной вопрос, как это все заменеджерить, когда мне нужно вызвать окно, например по клику по кнопке в каких-нибудь дебрях приложения.

Ivan Tseloban
Есть компонент-шаблон модального окна. На его базе...

Тут основной вопрос, почему не вынести их из корня туда, где они используются

Ivan-Tseloban Автор вопроса
Dinar Galimov
inject/provide?)

Мне кажется, слишком сложно про масштабировании)

Ivan-Tseloban Автор вопроса
Grigorii K. Shartsev
Тут основной вопрос, почему не вынести их из корня...

А в принципе можно наверное, спасибо, подумаю)

Ivan Tseloban
Едет верстка в таком случае.

Звучит так, будто модальное окно реализовано без портала

Ivan Tseloban
Vue 2

В тройке нет портала, там телепорт)

Ivan-Tseloban Автор вопроса
Grigorii K. Shartsev
В тройке нет портала, там телепорт)

Точно) В общем не сталкивался, не знаю, что это и как.

Ivan-Tseloban Автор вопроса
Grigorii K. Shartsev
В тройке нет портала, там телепорт)

Имеется в виду просто пакет portal-vue?

Ivan Tseloban
Имеется в виду просто пакет portal-vue?

Да. У него ещё есть версия simple-portal, подойдёт даже лучше. Чтобы в базовой модалке всегда рендерить наверху содержимое

Ivan Tseloban
Есть компонент-шаблон модального окна. На его базе...

основной компонент Modal.vue в layouts и папка с вариантами содержимого модалок. показывать computed из vuex state (opened, type, flow), открывать просто диспач из любой части – передаешь тип окна и данные в flow. про вынести из корня даже не слушай, я тупее ничего не слышал про модалки

Andy Cox
основной компонент Modal.vue в layouts и папка с в...

В твоём не тупом решении: 1. Нужно, чтобы у каждой конкретной модалки с своим содержимым был отдельный компонент 2. Чтобы этот компонент был зарегистрирован в корне / базовой модалке 3. Чтобы взаимодействие с модалкой вкладывалось в этот flow, и больше ничего. Например, не было разного набора кнопок с разным назначением При этом работающее решение, не накладывающее всех этих ограничений, и не привязанное к стору - иметь модалку там, где она нужна. Вёрстке никак не мешает, базовая модалка рендерит содержимое порталом в корне без проблем

Grigorii K. Shartsev
В твоём не тупом решении: 1. Нужно, чтобы у каждой...

1-2 да не обязательно даже отдельный компонент для каждой модалки, 3- прекрасно как-то живется, используя основной компонент модалки для оповещений, take actions, галереи, плеера и тд, кнопки везде разные, анимации тоже, все изи мэйнтейнится и нет unpredictable явлений, работают любые переходы между ними. ну или юзать порталы, которые не везде еще работают💁🏻‍♂️ спасибо, но я лучше еще в сторе загружу дополнительные данные в зависимости от типа окна

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

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

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...
~
13
Недавно 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
Карта сайта