要求生成的表格跟文件中的表格一样用vue2实现
时间: 2025-01-05 17:40:48 浏览: 2
要在 Vue 2 中实现与提供的文档内容相似的表格,你可以使用 `v-for` 循环和嵌套结构来生成复杂的表格。以下是一个示例代码:
### 安装依赖
首先确保你已经安装了 Vue 2 及其相关依赖。如果你还没有安装,可以使用 npm 来安装:
```bash
npm install vue
```
### 创建 Vue 组件
创建一个 Vue 组件来显示表格:
```html
<template>
<div>
<table border="1" cellspacing="0">
<thead>
<tr>
<th colspan="2">一级指标</th>
<th colspan="2">二级指标</th>
<th colspan="2">三级指标</th>
<th>评价内容</th>
<th>评价方法</th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in tableData" :key="index">
<td v-if="item.level === 'primary'">{{ item.indicator }}</td>
<td v-if="item.level === 'primary'" class="score">{{ item.score || '-' }}</td>
<td v-if="item.level === 'secondary'">{{ item.indicator }}</td>
<td v-if="item.level === 'secondary'" class="score">{{ item.score || '-' }}</td>
<td v-if="item.level === 'tertiary'">{{ item.indicator }}</td>
<td v-if="item.level === 'tertiary'" class="score">{{ item.score || '-' }}</td>
<td>{{ item.evaluationContent || '-' }}</td>
<td>{{ item.evaluationMethod || '现场检测+资料审查' }}</td>
</tr>
</tbody>
</table>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [
{ level: 'primary', indicator: '腐蚀', score: '-', evaluationContent: '', evaluationMethod: '' },
{ level: 'secondary', indicator: '介质腐蚀性', score: '50', evaluationContent: '', evaluationMethod: '现场检测+资料审查' },
{ level: 'secondary', indicator: '外腐蚀', score: '50', evaluationContent: '', evaluationMethod: '现场检测+资料审查' },
{ level: 'tertiary', indicator: '土壤腐蚀性等级(GB/T19285)', score: '100', evaluationContent: '', evaluationMethod: '现场检测+资料审查' },
{ level: 'secondary', indicator: '交流电流', score: '-', evaluationContent: '', evaluationMethod: '现场检测+资料审查' },
{ level: 'secondary', indicator: '直流电流(0.41)', score: '-', evaluationContent: '', evaluationMethod: '现场检测+资料审查' },
{ level: 'secondary', indicator: '深根植被', score: '-', evaluationContent: '', evaluationMethod: '现场检测+资料审查' }
]
};
}
};
</script>
<style scoped>
td, th {
padding: 8px;
text-align: center;
}
th {
background-color: #f2f2f2;
}
.score {
color: blue;
}
</style>
```
### 解释
1. **模板部分 (`<template>`)**:
- 使用 `<table>` 元素来创建表格。
- 表头部分 (`<thead>`) 包含表头标题。
- 表体部分 (`<tbody>`) 使用 `v-for` 循环遍历 `tableData` 数组,并根据数据的不同级别生成相应的单元格。
2. **脚本部分 (`<script>`)**:
- 在 `data` 函数中定义了一个数组 `tableData`,每个元素表示表格的一行,并包含相应的内容和属性。
3. **样式部分 (`<style scoped>`)**:
- 添加了一些基本的样式,包括内边距、对齐方式和背景颜色等,以使表格更美观。
将上述代码放入你的 Vue 项目中,并运行项目即可看到生成的表格效果。
阅读全文