Я хочу отобразить второй массив внутри вычисляемого свойства, но только если установлен флажок. В противном случае должен отображаться только первый список.
Мне удалось заставить свой первый список работать с моим кодом, и он отображается так, как должен, у меня также есть метод, который позволяет сортировать список в алфавитном порядке (это то, что я называю категориями).
Как мне выполнить слияние с другим массивом, если значение моего флажка истинно?
Вот код
data: function() {
return {
checked: false,
fruitList: [ //Fist list
"Apple",
"Grapes",
"Mango",
"Oranges",
"Banana",
"Dragon fruit",
"Pinapple",
"Coconut",
"Strawberry"
],
vegetableList:[ //Second list, should only display if checkbox is true
"cucumber",
"tomato",
"onion"
]
};
},
methods:{
return{
sorted(list) {
return list.sort();
}
}
},
computed: {
categorizedWords() {
let map = {};
this.fruitList.forEach(word => {
let key = word.charAt(0).toUpperCase();
let list = map[key];
if (list === undefined) {
list = [];
map[key] = this.sortedList(list);
}
list.push(word);
});
var sortedCategories = this.sortedList(Object.keys(map));
var sortedMap = sortedCategories.map(category => {
return { category: category, word: map[category] };
});
return sortedMap;
}
}