fix: 打分提增加最大值和最小值限制
- 解决打分题最高分可以低于最低分的问题
This commit is contained in:
@@ -14,6 +14,7 @@
|
|||||||
<van-stepper
|
<van-stepper
|
||||||
v-model="localConfig.min"
|
v-model="localConfig.min"
|
||||||
button-size="22px"
|
button-size="22px"
|
||||||
|
:max="localConfig.max"
|
||||||
@change="minChange"
|
@change="minChange"
|
||||||
@blur="minChange(localConfig.min)"
|
@blur="minChange(localConfig.min)"
|
||||||
/>
|
/>
|
||||||
@@ -22,6 +23,7 @@
|
|||||||
<p>最高分</p>
|
<p>最高分</p>
|
||||||
<van-stepper
|
<van-stepper
|
||||||
v-model="localConfig.max"
|
v-model="localConfig.max"
|
||||||
|
:min="localConfig.min"
|
||||||
:max="maxLimit"
|
:max="maxLimit"
|
||||||
button-size="22px"
|
button-size="22px"
|
||||||
@change="maxChange"
|
@change="maxChange"
|
||||||
@@ -80,6 +82,11 @@ const emit = defineEmits(['updateConfig']);
|
|||||||
watch(
|
watch(
|
||||||
() => props.config,
|
() => props.config,
|
||||||
(newConfig) => {
|
(newConfig) => {
|
||||||
|
// console.log(newConfig);
|
||||||
|
// 如果最低分大于最高分,则取消赋值
|
||||||
|
// if (newConfig.min > newConfig.max) {
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
localConfig.value = { ...newConfig };
|
localConfig.value = { ...newConfig };
|
||||||
},
|
},
|
||||||
{ deep: true }
|
{ deep: true }
|
||||||
@@ -125,17 +132,33 @@ function intervalChange(value) {
|
|||||||
emitInfo();
|
emitInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最低分变动之后的处理
|
||||||
|
* @param value {number} 当数值改变之后的值
|
||||||
|
*/
|
||||||
const minChange = (value) => {
|
const minChange = (value) => {
|
||||||
const oldMax = Number(props.config.min);
|
// const oldMax = Number(props.config.min);
|
||||||
localConfig.value.min = value;
|
// 如果当前变化的值大于最高分,取消赋值
|
||||||
if (localConfig.value.min > localConfig.value.max) {
|
if (value > localConfig.value.max) {
|
||||||
localConfig.value.min = oldMax;
|
return;
|
||||||
|
// localConfig.value.min = oldMax;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
localConfig.value.min = value;
|
||||||
|
|
||||||
setDefaultMax();
|
setDefaultMax();
|
||||||
emitInfo();
|
emitInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最高分变动之后的处理
|
||||||
|
* @param value {number} 当数值改变之后的值
|
||||||
|
*/
|
||||||
function maxChange(value) {
|
function maxChange(value) {
|
||||||
|
// 如果当前变化的值小于最低分,取消赋值
|
||||||
|
if (value < localConfig.value.min) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
const oldMax = Number(props.config.max);
|
const oldMax = Number(props.config.max);
|
||||||
localConfig.value.max = value;
|
localConfig.value.max = value;
|
||||||
if (!isSurplus()) {
|
if (!isSurplus()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user