Anton
блин, стыдоба, а ведь я взялся учить vue, не знаю import\export, лямбда выражений...
Demetrio
бывает 🤷‍♀️
Demetrio
для этого и учишься
Anton
уже знаю вышеописанное) и все стает на свои места))
Igor
Нам от этого не проще
как то так https://jsfiddle.net/d131Lebj/1034/
Igor
попробуй выделить несколько items
Олег
и что там не так?
Олег
выделение не сохраняется?
Igor
в стейте есть то что нужно, а вот сам мультиселект не показывает несколько выделеных
Igor
если ему передать v-bind:value="['1', '2']" несколько значений
Олег
про типы данных почитай
Олег
у тебя там сравнение чисел со строками
Igor
при чем тут это если с 1 полем рабоатет ?
Igor
v-bind:value="['1']" работает и выделяется то что нужно
Vadim
У меня и с одним не работает как надо
Igor
https://jsfiddle.net/d131Lebj/1049/
Igor
вот еще раз
Vadim
На#уевертил
Олег
заметь v-bind:value="['1']" != v-bind:value="[1]"
Vadim
А я умею выделять два https://monosnap.com/file/NwwqKBqR2cbN3wEelMZKGfx84OuWbM
Vadim
И даже три
Vadim
Vadim
Код - шляпа, даже лениво разбираться зачем так сложно все
Igor
предложи другой вариант
Igor
нужно в компонент передать массив и в ыделить все опшены, затем поменять и вернуть массив
Igor
А я умею выделять два https://monosnap.com/file/NwwqKBqR2cbN3wEelMZKGfx84OuWbM
значения в стейте менеяются, а в самом селекте не подсвечиваются
Vadim
Номер карты давать или вебмани? Можно битком
Igor
бля все с вами понятно пиздеть только любите, на простой вопрос не можите ответить как в vue js выделить несколько options одновременно
Igor
сам разберусю сорян
Vadim
Alex
бля все с вами понятно пиздеть только любите, на простой вопрос не можите ответить как в vue js выделить несколько options одновременно
https://ru.vuejs.org/v2/guide/forms.html#%D0%92%D1%8B%D0%BF%D0%B0%D0%B4%D0%B0%D1%8E%D1%89%D0%B8%D0%B5-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B8 что будет в модели, то будет выбираться в вариантах
Vadim
сам разберусю сорян
Нет, только не это. Не лишай нас шанса потратить личное время на решение твоих проблем
Alex
Давайте без переходов на личности
Igor
Давайте без переходов на личности
Сорян, бомбит немного, сижу уже час и не могу просто выделить несколько options одновременно Давай так что я дожен передать в моделе для обычного селекта, просто стрингу ? А для мультиселекта массив ?
Alex
Если бомбит иногда лучше отвлечься, прогуляться например) да, а модель массив. Элементы массива которые совпадут с value вариантов списка станут выбранными
Alex
На атрибуты selected не обращает внимания
Igor
А для мультиселекта и для обычного селекта мы эти данные ложим в :value ?
Alex
Да
Igor
ну вот смотри https://jsfiddle.net/d131Lebj/1068/ один и тот же компонент, но в 1 случае мы передаем value="['2', '1'] а во втором value="['2']
Igor
в первом случае опшионс не выделяется, а во втором выделяется
Alex
Если без выноса в компонент попробовать сначала. И без слота
Igor
щас запилю
Alex
Разные типы пропс описываются не так
Alex
Там массив
Igor
https://jsfiddle.net/d131Lebj/1077/
Igor
Разные типы пропс описываются не так
непонял о чем ты, об props: ['value'] ?
Alex
Не value: String | Array а value: [String, Array]
Igor
Не value: String | Array а value: [String, Array]
понял, учту, пасибо за подсазку
Armen
А он не работает так, как ты ожидаешь
Armen
К примеру в value хранится только одно выбранное значение
Igor
в этот то и проблема, хочется понять как он во vue работае
Armen
А чтобы достать все значения надо делать так: function getSelectedOptions(sel, fn) { var opts = [], opt; // loop through options in select list for (var i=0, len=sel.options.length; i<len; i++) { opt = sel.options[i]; // check if selected if ( opt.selected ) { // add to array of option elements to return from this function opts.push(opt); // invoke optional callback function if provided if (fn) { fn(opt); } } } // return array containing references to selected option elements return opts; }
Armen
Это в обычном js
Igor
ну как достать значения, я сделал, но вот как его заставить сразу выделить несколько элементов в зависимости от входных парметров
Igor
есть конечно вариант самому бегать по опшинам и добавлять атрибут
Armen
Хотя вью это решает, и можна юзать обычный v-model
Igor
я выше кидал ссылку на jsfiddle и почему то там это не работает
Armen
Я вижу, щас ковыряю
Armen
https://jsfiddle.net/d131Lebj/1104/
Armen
Вот
Andrew
Ну так просто <select v-model="value" multiple> же и все, не?
Andrew
https://jsfiddle.net/d131Lebj/1106/
Georgii
Привет! Объясните, пожалуйста, что я делаю не так. На Stack'e решения не нашёл. Ошибка в консоли https://codesandbox.io/s/mqm8qmolqj
Armen
https://jsfiddle.net/d131Lebj/1106/
Да, только пропс напрямую нельзя изменять
Georgii
https://codesandbox.io/s/ykpqr26zkx
Спасибо, Арсен! А если я хочу обойтись без дополнительного <div/> ?
Armen
Не получится
Armen
Корневой элемент не может быть на v-for
Georgii
Корневой элемент не может быть на v-for
Ааа, вот оно что. Спасибо ещё раз!
Armen
Там же даже sandbox пишет эту ошибку
Anton
кстати, а почему в компоненте может быть только один корневой элемент?
Armen
А почему у человека может быть только одно тело?
Anton
один хрен компонент обернут в <template></template>
Armen
Ну и шо
Armen
В DOM же вставляется не template
Armen
А его содержимое
Demetrio
https://github.com/vuejs/vue/issues/7088
Igor
https://jsfiddle.net/d131Lebj/1106/
вообще не вьехал почему у меня тоже самое не работало :(