laravel - 将 v-model 重置为原始值
问题描述
有没有办法可以重置 v-model/props 的值?我正在使用惯性 js 并从 laravel 控制器接收道具。
Vue
<template>
<div class="p-6">
<div class="text-indigo-500">
<input type="text" v-model="post.title" class="appearance-none w-full border-none text-2xl p-0 focus:border-none">
</div>
<div class="mt-5">
<textarea class="appearance-none w-full border-none p-0 focus:border-none text-normal" rows="10" v-model="post.detail"></textarea>
</div>
<div class="flex justify-between mt-5">
<jet-button @click="reset()">
Reset
</jet-button>
<jet-button @click="update()">
Update
</jet-button>
</div>
</div>
</template>
<script>
export default {
props:{
post: ''
},
methods:{
reset() {
this.post = this.post
}
}
}
</script>
解决方案
您可以像这样维护本地发布数据
<template>
<div class="p-6">
<div class="text-indigo-500">
<input
type="text"
v-model="localPost.title"
class="appearance-none w-full border-none text-2xl p-0 focus:border-none"
/>
</div>
<div class="mt-5">
<textarea
class="appearance-none w-full border-none p-0 focus:border-none text-normal"
rows="10"
v-model="localPost.detail"
></textarea>
</div>
<div class="flex justify-between mt-5">
<jet-button @click="reset()"> Reset </jet-button>
<jet-button @click="update()"> Update </jet-button>
</div>
</div>
</template>
<script>
export default {
props: {
post: "",
},
data(){
return{
localPost:{}
}
},
methods: {
reset() {
this.localPost = Object.assign({},this.post);
},
},
mounted(){
this.localPost = Object.assign({},this.post);
}
};
</script>
所以做所有操作localPost
,当需要休息时你可以做this.localPost = this.post
推荐阅读
- c# - 使用 SQL 查询在网格视图上连接当前和历史数据
- python - 在numpy中使用间接索引对多维数组求和的快速方法
- c++ - 为什么没有return语句的C++函数会返回一个值?
- flutter - servicestack-dart 如何检查会话是否已经存在?
- c# - SSIS - COZYROCK Zip 任务编辑器不同的文件
- java - 设置空适配器-FirestoreRecyclerAdapter
- configuration - Zookeeper 如何管理其他集群中的节点角色?
- ios - Firebase 推送通知徽章计数是否会在 iOS 中自动增加?
- node.js - 如何为 Node 打包服务器端 JavaScript
- python - 如何在 python 数据表中查找和标记重复项