【发布时间】:2020-06-24 04:53:58
【问题描述】:
当我输入任何值时,我的模型没有更新,当我发送到我的商店时,它告诉我对象“项目”未定义。有人可以帮我吗?我觉得语法是正确的。这是我正在使用的实际 SFC
<template>
<el-form :model="item" ref="item" label-width="120px">
<el-form-item label="Name" required>
<el-input v-model="item.name" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="Description">
<el-input v-model="item.description"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click='submitForm'>Submit</el-button>
<el-button @click='clearForm'>Clear</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
name: 'itemForm',
data () {
return {
item: {
name: '',
description:''
}
}
},
methods: {
submitForm() {
this.$store.dispatch('addItem', this.item)
},
clearForm() {
console.log("CLEAR")
this.$refs['item'].resetFields()
}
},
watch: {
item: function() {
console.log(this.item)
}
}
}
</script>
我制作了一个可用的 Jsfiddle: https://jsfiddle.net/zheactj9/1/
【问题讨论】:
-
实际上是
$store未定义。您是否正确注册了您的商店(Vuex)?你能提供它的代码吗? -
抱歉没有包含商店代码。但是,如果您删除商店代码,您仍然会注意到当您在表单中输入值时 item 对象并没有改变。
-
它确实改变了,看看:jsfiddle.net/0jfk6es2
-
你说得对,它似乎确实发生了变化。我认为这个问题与我的 vuex 代码有关。
-
我刚刚发现了问题。我从调度程序发送了多个不允许的参数:stackoverflow.com/questions/50958909/…
标签: vue.js element-ui