Stanislav
Тормоза еще могут быть при инициализации, т.к. vue надо будет пройти по всем полям каждого из 10к и сделать их реактивными
Глеб
тут скорее "виртуализация списков из 10к редактируемых элементов с множеством состояний“
🐏 Alexander
интересная задачка, а как это выглядит вообще?
Глеб
может кто помнить tweetdeck клиент, на экране колонки твитов бесконечно влево и каждая бесконечно вниз… при выделении элемента списка он ещё разваричвается сдвигая нижние...
Глеб
это внтурекорпоративный инструмент там данные всякие которые я наверное не могу заскриншотить сюда
🐏 Alexander
да вот я тоже думаю, скорее просто слишком много компонентов, надо их подгружать динамически может
Глеб
ну в общем то сейчас всё хорошо работает есть большой компонент editor-list.vue там 30% логики колонки остальное айтема… …думал айтем вынести в editor-item.vue и наткнулся на тормоза
🐏 Alexander
может асинхронные компоненты помогут?
🐏 Alexander
скорее показывать динамически
ну да, по сути все ноды, которые не видишь не нужны в данный момент
Глеб
пагинация есть…. я не показываю то что не вижу… …но всё равно удивился что чем разделение в этом случае затормозило так что такое решение не пригодно при выборе элемента у него меняется текст и css анимацией высота плавно расширяет высоту айтема… …а когда айтемы компоненты анимациия css тормозит рывками
Глеб
"виртуализация списков" тоже можно помочь нагуглить
🐏 Alexander
https://vuejs.org/v2/guide/components.html#Async-Components
Глеб
при изменении состояния тормоза получаются, кадр рендерится дольше чем ему отведено в профайлере этот момент таки и не понял где, вернулся тогда к прежней версии сейчас просто заново думаую пересобрать стейт на vuex ну а рефакторинг вьюшкам дело не сложное, если понимать что делать
Глеб
"виртуализация списков" - это как тут https://music.yandex.ru/search?text=Вольфганг%20Амадей%20Моцарт&type=tracks …почти, где-то в яндекс музыке видел бесконечные списки, покзалось что они работают так : как бы создаётся всегда только то количество айтемов что помешается на экране и у них просто меняется состояние в зависимости от положения скролла. верно понимаю про "виртуализацию списков" или это что-то другое?
Stanislav
Лучше даже https://clusterize.js.org/
Глеб
https://github.com/tangbc/vue-virtual-scroll-list - yes!!! да похоже это то что нужно!!! Благодарю! попробую
Stanislav
Или рисовать на канвасе 🙈
Глеб
🙏✨
Абдула
Всем привет. У компонента есть 2 props`а. Один с валидацией, другой без. Как их оформить? Ведь те что без валидации в массиве передаются, а с валидацией в объекте.
🐏 Alexander
ты про тип пропса?
Абдула
// простая проверка типа (`null означает допустимость любого типа) все. нашел ответ
🐏 Alexander
всегда надо указывать тип, укажи несколько если их несколько может быть prop2: { type: [Arra, Object, Number, String, Boolean], default() { return null } }
🐏 Alexander
а функцией может быть проп?
🐏 Alexander
это я понимаю, может того чувака все таки не может быть функцией, значит не любые типы
zamir
привет! такая проблема, сделал v-model для инпута как в доках, но у меня он не работает, только лишь при сохранинии файла, введенное в инпут значение ставится в dom, кто-нибудь может сталкивался?
Roman
это я понимаю, может того чувака все таки не может быть функцией, значит не любые типы
как я понял, он просто хотел обозначить типы Array и Object в нужных пропсах
🐏 Alexander
да нужно вообще из вью убрать props: [], ну что это такое, жестче надо быть
🐏 Alexander
сталина на вью не хватает
zamir
кинь код или готовый fiddle
https://jsfiddle.net/59jew903/
zamir
https://jsfiddle.net/59jew903/
сорян, там оч много если коротко примерно так <label for="title" class="form__label" >{{message}}</label> <input type="text" name="title" id="title" v-model="message" placeholder="Испытай удачу" class="form__input form__input--bordered grey">
Roman
опечатка, судя по всему
zamir
https://prnt.sc/i94cn1
это я пециально сделал, тестил так сказать, но если исправить не работает все равно
zamir
блин вот так вот не разобравшись в коде можно тупить ) спасибо
Roman
не за что )
Victor
блин вот так вот не разобравшись в коде можно тупить ) спасибо
На будущее, компоненты лучше оформлять вот так: https://jsfiddle.net/59jew903/1/ Тогда оно работает в jsfiddle
Anonymous
Я искренне поражен, что в наше время большенство решений строится на Windows и "не сетевом взаимодействии" между компонентами систем
Alexey
Что-то я затупил. Можно же в v-model назначать выяисляемое свойство?
Alexey
да
А с его изменением проблем не будет?
Roman
Что-то я затупил. Можно же в v-model назначать выяисляемое свойство?
только сеттер не забудь указать в этом свойстве
Alexey
вот
Anonymous
А с его изменением проблем не будет?
Так на этом и строится вычисляемые свойства, или я не совсем понял вопроса.
Alexey
Так на этом и строится вычисляемые свойства, или я не совсем понял вопроса.
По логике если не указать сеттер, то вычисляемое свойство ридонли
Anonymous
нафига?
чтобы при изменение, сработало определенное действие
Alexey
нафига?
из стора получаю объект в вычисляемое, хотя наверно зря, теперь геморроиться с сеттерами
Arthur
тем более если обратно в стор прокидывать на сетер поставишь мутацию или экшн
Alexey
Лучше valuе и обработку события навесить
ты про v-model и @input на компоненте?
Arthur
он про : value, @input
Stanislav
нафига выдумывать какие-то костыли. Явно укажи, что ты слушаешь интуп и делаешь мутацию. Биндить на value computed проперти из сторы
Anonymous
Оффтоп, я после Vue стал на ангуляр и реакт посматривать и прям что-то не хочется ничем другим пользоваться кроме Vue.
Alexander
Я искренне поражен, что в наше время большенство решений строится на Windows и "не сетевом взаимодействии" между компонентами систем
Я сейчас делаю проект на вью, который с виду выглядит как десктоп приложение, а по факту есть куча виндовских "маленьких компов" (не помню как они правильно называются), на которых открыт браузер, а в браузере уже это приложение. Контора по факту делает четкий софт, а разработчики на ней только для веба)
Roman
шото я запутался(
мапишь поля со сторы, вместо v-model пишешь :value с полем и на @input вешаешь обработчик с мутацией для изменения твоего поля