@vuejs_ru

Страница 3562 из 3900
Дмитрий
04.09.2018
13:05:57
в темплейте на корневом диве висят @ focus и @ blur

Mike
04.09.2018
13:06:05
Начнем с того, вешать фокус на див вообще корректно? нет же вроде
корректно на любой элемент вешать, нужно только tabindex указать

Google
John
04.09.2018
13:06:24
сбоку сверху

Пока код не посмотрел, вообще ничего не понял

Mike
04.09.2018
13:06:45
сбоку сверху
перемести инпут после кнопки app-select-remove

Александр
04.09.2018
13:07:04
люди не видят твой код

Mike
04.09.2018
13:07:16
Alexey
04.09.2018
13:07:32
верно я понял что писать ошибки в файловый лог в nuxt возможно тока в server middleware

dev
04.09.2018
13:07:34
Всем добрый день! Ребят помогите разобраться с головоломкой. Пишу селект, все получается, все круто, но есть один момент: селект должен работать так: при клике на поле (input) октрывается список, при клике на опцию выбирается значение и список закрывается. Так вот когда я вставил кнопку очищения то появился забавный баг, вообще не предсказуемый... Есть два v-if="value && !isOpen" в .app-select-search, у span и у button, из за них после выбора значения в селекте, список при фокусе на input больше не появляется, к тому же добавляется еще одно событие "close" (можете посмотреть в консоле) Забавно то, что если у одного из span/button изменить v-if на v-show, то все работает отлично, все повторно открывается. Если перенести input после button тоже работает, багов нет. Я думал сначала, что дело в фокусах, так как из за специфики есть фокус и на инпуте и на корневом элементе. Но после того, как при перемещении инпута после кнопки очищения или наоборот, все работает, я просто вообще перестаю логически мыслить... Помогите разобраться пожалуйста. https://codesandbox.io/s/7ww75nn171
дело в blur

Mike
04.09.2018
13:07:36
https://codesandbox.io/s/7ww75nn171

дело в blur
можете обьяснить пожалуйста?

dev
04.09.2018
13:08:11
теряется фокус в момент списка и формально он у тебя (список) появляется но сразу срабатывает blur на инпуте

по этому моментально скрывается. если смотреть дом- видно как мигают элементы

Mike
04.09.2018
13:10:24
по этому моментально скрывается. если смотреть дом- видно как мигают элементы
вы можете написать как справить? и почему это происходит тольк тогда, когда у .app-search-selected и у .app-search-remove стоят v-if + когда input между ними, если к примеру .app-search-remove убрать и вставить перед инпутом то все нормально работает, как это понять?

Google
Mike
04.09.2018
13:11:20
в темплейте на корневом диве висят @ focus и @ blur
это для того, чтобы при клике на октрытый список, сразу не закрывать его, а оставить возможность в будущем добавить реализацию multiple

Mike
04.09.2018
13:13:42
Особенности работы с vdom и оптимизация видимо
ну вы теперь понимаете почему я в таком ступоре?

John
04.09.2018
13:13:56
Нет

v-show я так понял принципиально не подходит?

Mike
04.09.2018
13:14:55
v-show я так понял принципиально не подходит?
подходит, но я должен разобраться, чтобы понять. смысл писать когда не понимаешь, что присходит

Андрей
04.09.2018
13:15:02
Закинул я значит проект, чтобы спросить почему не рендерится, хотя в devtools все меняется, а он сука там работает как надо https://codesandbox.io/s/m7o532zymj ну все таки, посмотрите локально он работает так, первый файл загружаешь, он его не рендерит а потом 2 перетащишь туда, он отрендерит

dev
04.09.2018
13:21:44
ну вы теперь понимаете почему я в таком ступоре?
потому что у вас спан и инпут стоят в одном родителе

в моменте когда ставится фокус на инпут сразабывает isOpen=true согласно которому должен скрытся/появится спан

это приводит к обновлению дом ветки в которой находится инпут

соответственно появляется блур который закрывает

в итоге формально оно открывает "типа" но моментально и закрывает

как лечение это v-show либо вынести отдельно мб

John
04.09.2018
13:25:03
как лечение это v-show либо вынести отдельно мб
Почему если между элементами поставить любой элемент, то работает как надо? Вот что человек хочет понять.

dev
04.09.2018
13:25:32
разве работает ?

Mike
04.09.2018
13:25:45
ахах)

John
04.09.2018
13:26:04
https://codesandbox.io/s/kk2jqqkrk7

Mike
04.09.2018
13:26:26
разве работает ?
но немножко не так

Google
John
04.09.2018
13:26:29


dev
04.09.2018
13:27:01
ну вот вставил между ними h1 не рбаотает

John
04.09.2018
13:27:13
Mike
04.09.2018
13:27:58
Почему?
я имел ввиду, что я писал, если переместить или элементы между за инпут или инпут между элементов) а как вы написали я не проверял просто, чтобы любой элемент при вставке работал

John
04.09.2018
13:27:58
Хм. Приложение разволилось

Mike
04.09.2018
13:28:27
Хм. Приложение разволилось
ну конечно, каждый пробует) я могу заного сейчас перезалить

Хм. Приложение разволилось
https://codesandbox.io/s/7ww75nn171

ну вот вставил между ними h1 не рбаотает
попробуйте сейчас вырезать button.app-select-remove и поставить перед input.app-select-search-input

dev
04.09.2018
13:31:09
ок допиши просто blur.native=

Mike
04.09.2018
13:31:18
ну вот вставил между ними h1 не рбаотает
тут все не так просто как вам показалось

dev
04.09.2018
13:31:30
может быть

Mike
04.09.2018
13:31:42
ок допиши просто blur.native=
а где? на каком элементе?

John
04.09.2018
13:32:10
на инпуте

и это работает ?

Mike
04.09.2018
13:32:30
вы крутой )) спасибо) но почему так?) и так же на нативном элементе срабатывает? почему так происходит?

и это работает ?
да) почему?)

dev
04.09.2018
13:33:25
в целом вешать блур на диве это такое себе занятие

Google
dev
04.09.2018
13:33:28
малопродуктивное

Mike
04.09.2018
13:34:52
в целом вешать блур на диве это такое себе занятие
ну так а почему так происходит? почему @blur.native на инпуте срабатывает? я этого не могу понять

dev
04.09.2018
13:37:22
ну вот так

я возможно не силен в работе евентов дом/вуе. но мое предположение что при работе с родителем вуе дергает в том числе и блур

а блур.нативе мы четко указываем что речь идет про евент от браузера =\

Alex
04.09.2018
13:40:27
господе

напридумали блин)

Mike
04.09.2018
13:41:05
напридумали блин)
есть другое объяснение?

Admin
ERROR: S client not available

Dmitrij
04.09.2018
13:42:04
Ребятки, пытаюсь обратиться к компоненту через $refs, но не могу к нему достучатсья, потому как идет некоторая вложенность компонентов. Можно ли как то к глобальному массиву $refs обратиться ?

Dmitrij
04.09.2018
13:43:18
нужно обратиться к свойству компонента

из самого верхнего в самый нижний

Alex
04.09.2018
13:44:57
есть другое объяснение?
есть предложение

сверстать по человечески

не вот эта ебанина с blur на дивах

хочется сделать область для закрытия по наведению-клику

Google
Alex
04.09.2018
13:45:53
делаешь подложку невидимую

через pos fixed

Mike
04.09.2018
13:46:16
сверстать по человечески
я переделываю компонент, стили просто перенесу

через pos fixed
как модалку, на весь экран?)

Dmitrij
04.09.2018
13:46:53
потом в методах или хуках this.$refs.someName
в том то и дело, что у меня на элеименте стоит ref, но он потом обернуто все в библу, и вот ко всем внутренностям библы уже доступа нет

Alex
04.09.2018
13:47:05
и клик по ней или чего угодно - скрывает

Mike
04.09.2018
13:47:54
и клик по ней или чего угодно - скрывает
ха) понял) забавная реализация, не пробовал) пока не вижу ничего плохого в ней) но сроки дело жесткое

Alex
04.09.2018
13:48:27
так большинство нормальных селектор и тп контролов сделаны

что б не было костылей в духе 90х

Mike
04.09.2018
13:48:36
и клик по ней или чего угодно - скрывает
тем более это тут с блюрами и фокусами такой экшн, а вот к примеру с контекстым меню все намного проще

Alex
04.09.2018
13:48:38
с проверкой event.target

что б понять куда тыкнули а куда нет

Mike
04.09.2018
13:49:09
один из лучших селектов в vue, он есть в vue-awesome https://github.com/shentao/vue-multiselect/blob/master/src/Multiselect.vue

там типа такого же

что б понять куда тыкнули а куда нет
я кое что оттуда посмотрел

с проверкой event.target
я не использую это для проверки куда тыкнул) все закрывается на @blur)

Alex
04.09.2018
13:50:51
твой @blur ничем не лучше

Mike
04.09.2018
13:53:41
твой @blur ничем не лучше
возможно, я проверю ваш вариант, если не найду ни какких минусов то буду им пользоваться

Dmitrij
04.09.2018
14:03:20
так ребята, на первый вопрос никто ничего не ответил, возможно некорректно вопрос задал... может кто то подскажет как передать значение из компонента нижнего уровня в компонент, который его реализует?

Страница 3562 из 3900