Anton
блин, стыдоба, а ведь я взялся учить vue, не знаю import\export, лямбда выражений...
Demetrio
бывает 🤷♀️
Demetrio
для этого и учишься
Anton
уже знаю вышеописанное) и все стает на свои места))
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
Vadim
Номер карты давать или вебмани? Можно битком
Igor
бля все с вами понятно пиздеть только любите, на простой вопрос не можите ответить как в vue js выделить несколько options одновременно
Igor
сам разберусю сорян
Vadim
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/
Alex
Не value: String | Array а value: [String, Array]
Igor
Armen
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
Armen
Не получится
Armen
Корневой элемент не может быть на v-for
Georgii
Armen
Там же даже sandbox пишет эту ошибку
Anton
кстати, а почему в компоненте может быть только один корневой элемент?
Armen
А почему у человека может быть только одно тело?
Anonymous
Anton
один хрен компонент обернут в <template></template>
Armen
Ну и шо
Armen
В DOM же вставляется не template
Armen
А его содержимое
Demetrio
https://github.com/vuejs/vue/issues/7088