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

Mike
04.09.2018
13:06:05

John
04.09.2018
13:06:18
вверх вниз

Google

John
04.09.2018
13:06:24
сбоку сверху
Пока код не посмотрел, вообще ничего не понял

Mike
04.09.2018
13:06:45

Александр
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

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

Mike
04.09.2018
13:10:24

Google

John
04.09.2018
13:10:53

Mike
04.09.2018
13:11:20

John
04.09.2018
13:12:41

Mike
04.09.2018
13:13:42

John
04.09.2018
13:13:56
Нет
v-show я так понял принципиально не подходит?

Mike
04.09.2018
13:14:55

Андрей
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

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

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

Mike
04.09.2018
13:31:18

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

Mike
04.09.2018
13:31:42

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

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 обратиться ?

Alex
04.09.2018
13:42:46

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

Mike
04.09.2018
13:43:49

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

Dmitrij
04.09.2018
13:46:53

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
там типа такого же

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

Mike
04.09.2018
13:53:41

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