SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы
Список вопросов ПечатьМетки: vue.js javascript
Есть массив-дерево с данными. Этот массив нужно преобразовать в таблицую. Главное, чтобы таблица не ехала.
| RemiZOffAlex Создано: 2018-09-02 00:58:48.765273 Обновлено: 2018-09-02 00:58:48.765273 |
|---|
|
Прохождение дерева при помощи стека
<section id="app">
<table class="table">
<tr v-for="item in rows">
<td>{{ item.product.id }}</td>
<td>{{ item.product.article }}</td>
</tr>
</table>
</section>
<script type="text/javascript">
var app = new Vue({
el: '#app',
data: {
tree: [
{
id: 1,
product_id: 1,
product: {
product_id: 1,
article: "Д001",
id: 2,
},
children: [
{
id: 4,
product_id: 37,
product: {
product_id: 37,
article: "шнурок красный d_001",
id: 2
},
children: [
{
id: 5,
product_id: 36,
product: {
product_id: 36,
article: "Моё правило",
id: '',
}
}
]
}
]
}
]
},
computed: {
rows: function () {
// Прохождение дерева через стек
var vm = this;
var stack=new Array();
var result=new Array();
stack.push(vm.tree[0]);
while (stack.length>0) {
var item = stack.pop();
result.push(item);
if ('children' in item) {
for (var j = 0; j < item.children.length; j++) {
stack.push(item.children[j]);
}
}
}
return result;
}
},
methods: {
}
})
</script>
Результат
|