vue.js - 选择选项中的 Vuejs 旧值
问题描述
如何在 Vuejs 中保留和显示选择元素的旧数据?
我的代码如下
<select v-model="selected">
<option v-for="option in options" v-bind:value="option.value">
{{ option.text }}
</option>
</select>
export default {
data() {
return {
selected: "A",
options: [
{ text: "One", value: "A" },
{ text: "Two", value: "B" },
{ text: "Three", value: "C" }
],
}}}
任何帮助将不胜感激
解决方案
解决方案 1:使用keep alive
<keep-alive>
<your-component>
</keep-alive>
这将使您的组件数据保持活跃,即使您切换组件也会显示出来。
解决方案2:使用store
绑定数据
在你的里面state
const state = {
selected: "A"
}
在突变
const mutations = {
SET_SELECTED:(state,value)=>state.selected = value
}
现在在您的组件中添加一个computed
功能(您可以selected
从中删除data
)
selected: {
get: function () {
return this.$store.state.selected;
},
set: function (value) {
this.$store.commit('SET_SELECTED', value);
}
}
解决方案使用localStorage
状态
const state = {
selected: localStorage.getItem('selected') || null
}
突变
const mutations = {
SET_SELECTED:(state,value)=>{
state.selected = value;
localStorage.setItem('selected',value);
}
}
推荐阅读
- xslt - XSLT 转换以通过重复元素拆分文件
- python - 创建一个函数来遍历带有日期的元组列表
- gradle-kotlin-dsl - 在 `plugins` DSL 中使用 ProjectDelegate `gradle`
- c - long double 总是打印 0
- asp.net - Global.asax.cs 中的 VS 2019 解析器错误中的 ASP.NET MVC 应用程序
- java - 使用 graphql-java-kickstart 库的 GraphQL 和数据加载器
- java - Java 动态创建按钮并将参数传递给执行的操作
- php - 调用 POST 请求路由在 URL 中包含 index.php
- c# - 分配后意外的不等式
- javascript - 在 Mechanical Turk 人群中使用 Youtube Player API 不会触发 OnStateChange