【发布时间】:2021-11-15 08:44:17
【问题描述】:
我有一个类型号的输入,我想让它在输入中不能打印大于 10 的数字,一切对我来说都很好,直到我用数组替换了这个值(之前 value: 1 之后值:[1, 1])
更改为数组后,我尝试手动获取数组的第一个数字作为输入的值,但出现错误,不明白如何解决
App.vue
<div>
<customInput v-model="value[0]" :max-value="10" />
</div>
<script>
import customInput from "./components/HelloWorld";
export default {
name: "App",
data() {
return {
value: [1, 1],
};
},
components: {
customInput,
},
};
</script>
HelloWorld.vue
<div>
<input :value="value[0]" type="number" @input="onInput" max="10" />
</div>
<script>
export default {
props: {
value: Array,
maxValue: Number,
},
methods: {
onInput(event) {
const newValue = parseInt(event.target.value);
const clampedValue = Math.min(newValue, this.maxValue);
this.$emit("input", clampedValue);
this.$forceUpdate();
},
},
};
</script>
在我用数组替换“value”之前,一切都对我有用,您也可以查看my code in codesandbox
【问题讨论】:
标签: javascript arrays vue.js vuejs2