Vue.js Vuejs元素ui表单未更新模型

Vue.js Vuejs元素ui表单未更新模型,vue.js,element-ui,Vue.js,Element Ui,当我输入任何值时,我的模型没有更新,当我分派到我的存储时,它告诉我对象“item”未定义。有人能帮我吗?我觉得语法是正确的。这是我实际使用的证监会 提交 清楚的 导出默认值{ 名称:'itemForm', 数据(){ 返回{ 项目:{ 名称:“”, 说明:“” } } }, 方法:{ submitForm(){ 此.store.dispatch('addItem',此.item) }, clearForm(){ 控制台日志(“清除”) 此.$refs['item'].resetFields()

当我输入任何值时,我的模型没有更新,当我分派到我的存储时,它告诉我对象“item”未定义。有人能帮我吗?我觉得语法是正确的。这是我实际使用的证监会


提交
清楚的
导出默认值{
名称:'itemForm',
数据(){
返回{
项目:{
名称:“”,
说明:“”
}
}
},
方法:{
submitForm(){
此.store.dispatch('addItem',此.item)
},
clearForm(){
控制台日志(“清除”)
此.$refs['item'].resetFields()
}
},
观察:{
项目:职能(){
console.log(this.item)
}
}
}
我制作了一个可用的JSFIDLE:

我创建了一个如何使用Vuex的示例

看看,我用的代码和你的差不多


将多个参数作为有效负载发送:

submitForm() {
  this.$store.dispatch("addItem", {
    item1: this.item,
    item2: this.item,
    item3: this.item
  });
}
存储操作的示例:

actions: {
  addItem: function(store, payload) {
    console.log(payload);
  }
}
要重置表单,只需执行以下操作:

clearForm() {
   this.item.name = ''
   this.item.description = ''
}

我创建了一个如何使用Vuex的示例

看看,我用的代码和你的差不多


将多个参数作为有效负载发送:

submitForm() {
  this.$store.dispatch("addItem", {
    item1: this.item,
    item2: this.item,
    item3: this.item
  });
}
存储操作的示例:

actions: {
  addItem: function(store, payload) {
    console.log(payload);
  }
}
要重置表单,只需执行以下操作:

clearForm() {
   this.item.name = ''
   this.item.description = ''
}

我刚刚用
Vuex
store创建了一个示例,它使用操作和变异进行更新,并使用getter和computed属性提供新记录。例如:

ELEMENT.locale(ELEMENT.lang.ja)
Vue.use(Vuex);
const store=新的Vuex.store({
声明:{
项目:{
名称:“”,
说明:“”
}
},
突变:{
添加项目(状态、有效负载){
//突变状态
state.item=有效载荷
}
},
行动:{
addItem({commit},有效负载){
提交('ADD_ITEM',负载)
}
},
吸气剂:{
itemData:state=>{
返回状态.item
}
}
})
var Main={
数据(){
返回{
项目:{
名称:“”,
说明:“”
}
}
},
商店,
方法:{
submitForm(){
此.store.dispatch('addItem',此.item)
},
clearForm(){
控制台日志(“清除”)
此.$refs['item'].resetFields()
}
},
计算:{
getItemData(){
返回此。$store.getters.itemData
}
},
观察:{
项目:职能(){
console.log(this.item)
}
}
}
变量向量=Vue.extend(主)
新Ctor().$mount('#app')

提交
清楚的
存储项数据->名称:{{getItemData.Name}}和描述:{{getItemData.description}

我刚刚创建了一个带有
Vuex
存储的示例,该存储使用操作和变异以及提供新记录的getter和computed属性进行更新。例如:

ELEMENT.locale(ELEMENT.lang.ja)
Vue.use(Vuex);
const store=新的Vuex.store({
声明:{
项目:{
名称:“”,
说明:“”
}
},
突变:{
添加项目(状态、有效负载){
//突变状态
state.item=有效载荷
}
},
行动:{
addItem({commit},有效负载){
提交('ADD_ITEM',负载)
}
},
吸气剂:{
itemData:state=>{
返回状态.item
}
}
})
var Main={
数据(){
返回{
项目:{
名称:“”,
说明:“”
}
}
},
商店,
方法:{
submitForm(){
此.store.dispatch('addItem',此.item)
},
clearForm(){
控制台日志(“清除”)
此.$refs['item'].resetFields()
}
},
计算:{
getItemData(){
返回此。$store.getters.itemData
}
},
观察:{
项目:职能(){
console.log(this.item)
}
}
}
变量向量=Vue.extend(主)
新Ctor().$mount('#app')

提交
清楚的
存储项数据->名称:{{getItemData.Name}}和描述:{{getItemData.description}

实际上,
$store
是未定义的。您是否正确注册了您的店铺(Vuex)?你能提供它的代码吗?对不起,没有包括商店代码。但是,如果您删除了存储代码,您仍然会注意到,当您在表单中输入值时,item对象并没有更改。在我看来,它确实发生了更改,请看:您是对的,它似乎确实发生了更改。我认为问题与我的vuex代码有关。我刚刚发现问题。我从调度器发送了多个不允许的参数:实际上,
$store
未定义。您是否正确注册了您的店铺(Vuex)?你能提供它的代码吗?对不起,没有包括商店代码。但是,如果您删除了存储代码,您仍然会注意到,当您在表单中输入值时,item对象并没有更改。在我看来,它确实发生了更改,请看:您是对的,它似乎确实发生了更改。我认为问题与我的vuex代码有关。我刚刚发现问题。我从我的调度程序发送了多个参数,这是不允许的: