用vue做一个表单和一个折线图
时间: 2024-03-13 08:45:15 浏览: 42
好的,下面是一个简单的示例代码:
```
<template>
<div>
<h2>表单</h2>
<form>
<div>
<label for="name">姓名:</label>
<input type="text" id="name" v-model="name">
</div>
<div>
<label for="age">年龄:</label>
<input type="number" id="age" v-model.number="age">
</div>
<div>
<label for="gender">性别:</label>
<select id="gender" v-model="gender">
<option value="male">男</option>
<option value="female">女</option>
</select>
</div>
<div>
<button type="button" @click="submitForm">提交</button>
</div>
</form>
<h2>折线图</h2>
<div>
<canvas id="line-chart"></canvas>
</div>
</div>
</template>
<script>
import Chart from 'chart.js';
export default {
data() {
return {
name: '',
age: 0,
gender: 'male',
chartData: {
labels: ['1月', '2月', '3月', '4月', '5月', '6月'],
datasets: [
{
label: '销售数据',
data: [12, 19, 3, 5, 2, 3],
backgroundColor: 'rgba(255, 99, 132, 0.2)',
borderColor: 'rgba(255, 99, 132, 1)',
borderWidth: 1
}
]
}
}
},
mounted() {
this.renderChart();
},
methods: {
submitForm() {
// 提交表单数据的逻辑
},
renderChart() {
const ctx = document.getElementById('line-chart').getContext('2d');
const chart = new Chart(ctx, {
type: 'line',
data: this.chartData,
});
}
}
}
</script>
```
这段代码包含了一个表单和一个折线图。表单中有姓名、年龄、性别三个字段,以及一个提交按钮。折线图使用了Chart.js库,显示了一个简单的销售数据。在mounted生命周期中,调用了renderChart方法来渲染折线图。
阅读全文