写一个el-form的评分表单 存在多个1分项和多个2分项 可以增减分数 并默认显示为1分 选择后实时更新总分数在底部
时间: 2024-03-15 22:45:55 浏览: 78
好的,您可以这样写一个 el-form 的评分表单:
```html
<template>
<el-form ref="form" label-width="100px">
<el-form-item label="1分项">
<el-input-number v-model="score1" @change="calculateTotalScore" :min="0"></el-input-number>
</el-form-item>
<el-form-item label="2分项">
<el-input-number v-model="score2" @change="calculateTotalScore" :min="0"></el-input-number>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addScore(1)">添加1分项</el-button>
<el-button type="primary" @click="addScore(2)">添加2分项</el-button>
</el-form-item>
<el-form-item>
<div>总分数为:{{ totalScore }}</div>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
score1: 1,
score2: 1,
totalScore: 2
}
},
methods: {
addScore(score) {
if (score === 1) {
this.score1++
} else if (score === 2) {
this.score2++
}
this.calculateTotalScore()
},
calculateTotalScore() {
this.totalScore = this.score1 + (this.score2 * 2)
}
}
}
</script>
```
这个评分表单中包含了两个 el-input-number 组件,分别用于输入 1 分项和 2 分项的分数。还有两个按钮,用于添加新的 1 分项或 2 分项。在底部显示总分数。
其中,data 中定义了三个变量:score1 用于存储 1 分项的分数,默认为 1;score2 用于存储 2 分项的分数,默认为 1;totalScore 用于存储总分数,默认为 2。
methods 中定义了两个方法:addScore(score) 用于添加新的 1 分项或 2 分项,参数 score 为添加的项的分数;calculateTotalScore() 用于计算总分数。
在 addScore() 方法中,根据传入的参数 score 来判断添加的是 1 分项还是 2 分项,然后将对应的分数加 1,并调用 calculateTotalScore() 方法重新计算总分数。
在 calculateTotalScore() 方法中,将 1 分项的分数和 2 分项的分数乘以 2 后相加,得到总分数,并将结果保存到 totalScore 变量中。
在 el-input-number 组件中,@change 事件绑定了 calculateTotalScore() 方法,表示在输入分数时实时更新总分数。
这样就实现了一个 el-form 的评分表单,可以增减分数,并实时更新总分数。
阅读全文