Laravel vue在更新字段上显示旧数据
所以我为我的组件做了更新功能,它工作得很好唯一的问题是我不能向用户显示旧数据(如果有) 这就是我现在拥有的: 正如您所见,我不仅可以将表单数据发送到后端进行更新,而且已经保存了数据 代码 问题:Laravel vue在更新字段上显示旧数据,laravel,vue.js,Laravel,Vue.js,所以我为我的组件做了更新功能,它工作得很好唯一的问题是我不能向用户显示旧数据(如果有) 这就是我现在拥有的: 正如您所见,我不仅可以将表单数据发送到后端进行更新,而且已经保存了数据 代码 问题: 如何将旧数据传递到我的字段(上面的示例) 更新 请打开大尺寸图像。 代码的问题是,分配新值后,信息不再是反应性的。你需要在一开始就保持这样的“信息” info: { // data from api photo: '', about:
请打开大尺寸图像。
代码的问题是,分配新值后,信息不再是反应性的。你需要在一开始就保持这样的“信息”
info: { // data from api
photo: '',
about: '',
website: '',
phone: '',
state: '',
city: '',
user_id: '',
}
从api获取值后,分别更新每个值
getInfo: function() { //getting current data from database
let user_id = this.user.id;
axios.get('/api/show/'+ user_id).then((response) => {
this.info.photo = response.data.photo;
this.info.about = response.data.about;
//all other values
console.log(response);
});
},
这可以通过在Ajax响应中指定
This.profile
This.info的值来实现。这样,您将使用原始值设置输入字段
函数callMe(){
var vm=新的Vue({
el:'根',
数据:{
档案:{},
信息:{}
},
方法:{
getInfo:function(){//从数据库获取当前数据
this.info={about:“old data”}//您的回答在这里
this.profile=Object.assign({},this.info);
},
},
})
}
callMe()代码>
Ajax呼叫单击我
输入
配置文件:{{this.profile}}
信息:{{this.info}
在文本区域中,您有一个模型配置文件。关于
,显示“旧数据”的方法是将数据分配到该模型
在create
或mounted
方法中,您必须像
this.profile.about = this.info.about
通过这种方式,profile.about
将数据存储在您的数据库中,这样,如果用户更新它,旧数据将在this.info.about
和this.profile.about中进行编辑,对不起,我没有找到您的解决方案,您介意根据我的代码给出示例吗?(我没有任何创建/监视等)检查它,假设按钮单击是ajax调用。我假设您最初希望显示带有以前数据的输入字段,但也希望保持信息不变。在将profile对象保持为v-model时?是和否,请参阅我的表中的列中有名为“关于”的文本区域
字段,因此用户已经输入了一些关于他/她(自己)的信息以前有这是旧值
现在我想显示旧值
,让他们编辑它或完全删除/更改它。无论如何,我得到的是[Vue warn]:事件“change”的处理程序无效:Get null
使用此新更改,我希望在文本/teatarea字段中显示旧数据,以便用户可以查看其当前数据,如果他们想更改它。我仍然不明白,您在更新功能中发送的旧数据是什么?文本区在哪里?是在您更新的同一视图中还是在配置文件路径中?我想要的是:/text区域在我上面讨论的代码中。所有在1视图中,因为它们的功能在1方法中一起,所以我按照您的建议执行了操作,但在我的字段中没有显示任何内容。在开始时,将初始随机值分配给信息字段,并在加载组件时检查是否显示这些值。
getInfo: function() { //getting current data from database
let user_id = this.user.id;
axios.get('/api/show/'+ user_id).then((response) => {
this.info.photo = response.data.photo;
this.info.about = response.data.about;
//all other values
console.log(response);
});
},
this.profile.about = this.info.about