【发布时间】:2021-02-06 09:12:04
【问题描述】:
我有一个汽车清单如下:
<script>
const sampleCars = [
{
id: 1,
name: 'Cressida',
model: 'XXC',
manufacturer: 'Toyota',
price: '$10,000',
inEditMode: false
},
{
id: 2,
name: 'Corolla',
model: 'ZD-2',
manufacturer: 'Toyota',
price: '$12,000',
inEditMode: false
},
{
id: 3,
name: 'Condor',
model: '27-9',
manufacturer: 'Mazda',
price: '$8,000',
inEditMode: false
}
]
export default {
data() {
return {
cars: sampleCars
}
}
}
</script>
<style>
.grid {
display: grid;
grid-template-columns: repeat(5, auto);
gap: 10px;
}
</style>
我想在 5 列的 CSS 网格中显示项目。
如果我使用如下 vue 代码:
<template>
<div >
<div class="grid">
<div>Name</div>
<div>Model</div>
<div>Manufacturer</div>
<div>Price</div>
<div>buttons</div>
</div>
<div v-for="car in cars" :key="car.id" class="grid">
<div>{{car.name}}</div> // "child div"
<div>{{car.model}}</div>
<div>{{car.manufacturer}}</div>
<div>{{car.price}}</div>
<div>buttons</div>
</div>
</div>
</template>
这段代码的问题是每个项目都显示在自己的网格中。 (因此未对齐,如下图所示)。使用 v-for 所有汽车属性成为根 div 的子级。所以基本上我希望所有“子 div”成为一个 CSS 网格 div 的根。我怎样才能做到这一点?
使用 VueJS 2
【问题讨论】:
-
好吧,你为每一行分配了网格类,所以每一行都是它自己的网格。有很多关于如何使用 CSS 网格创建表格的资源,你应该看看一些。
标签: css vue.js vuejs2 vue-component css-grid