1 回答

TA貢獻1856條經驗 獲得超11個贊
假設您的問題是items字符串而不是數字,請嘗試將您的ADD_BOTTLES突變更改為
ADD_BOTTLES (state, items) {
let num = parseInt(items, 10)
if (!isNaN(num)) {
state.bottles += items
}
}
如果您通過表單從用戶那里獲取值,請考慮使用.number修飾符。例如(根據您的屏幕截圖)...
<template>
<section>
<p>How many bottles are there in total:</p>
<p>{{ bottles }}</p>
</section>
<section>
<p>How many bottles of water were brought?</p>
<input type="number" v-model.number="items" min="0">
<button @click="addBottles(items)">Add</button>
</section>
</template>
import { mapState, mapMutations } from 'vuex'
export default {
data: () => ({ items: 0 }),
computed: mapState(['bottles']),
methods: mapMutations({
addBottles: 'ADD_BOTTLES'
})
}
添加回答
舉報