【问题标题】:Retain filled fields in the form on reload/refresh in vue在 vue 中重新加载/刷新时保留表单中的填充字段
【发布时间】:2020-04-15 23:31:53
【问题描述】:

我想添加在页面重新加载时将填充的表单字段值保留在表单中的功能。有没有办法解决这个问题。 vm.$forceUpdate() 会解决这个问题吗?请帮我解决这个问题

   <template>
     <v-card class="mb-12">
       <v-form :model='user' class="content-padding" ref='pdfInputs'>
            <div class="section-header">
              User
            </div>
            <v-container fluid>
              <v-layout row wrap>
                <v-flex xs12 md6 class="add-col-padding-right info-align">
                  <v-text-field required
                    label='User Full Name​'
                    v-model='user.user_full_name'>
                  </v-text-field>
                </v-flex>
                <v-flex xs12 md6 class="add-col-padding-left info-align">
                  <v-text-field
                    label='Street Address'
                    v-model='user.user_address'
                    required>
                  </v-text-field>
                </v-flex>
              </v-layout>
            </v-form>
         </v-card>
     </template>  


<script>

export default {
  data () {
    return {
      user: {
        user_full_name: '',
        user_address: []
      }
    }
  }
}
</script>

【问题讨论】:

  • 使用$vm.$forceUpdate 可以解决您的问题吗?
  • @HansFelixRamos 我在问这是否能解决这个问题?如果是,我该如何使用它。?
  • 使用localstorage 存储表单状态并在加载时检索它

标签: javascript vue.js vuetify.js


【解决方案1】:

您可以使用localStorageindexedDB 进行持久存储。

您应该watchuser 进行更改或停止使用v-model 并使用v-bindv-on:change 以便能够捕获对模型的更改并保存它们。

然后在 mounted 或其他生命周期方法上,您需要从持久性介质中读取并填充 user

今后,如果您越来越多地遇到这种需求,您可以使用vuex 来存储您的数据并使用mutations 来保存到持久性介质。您还应该在启动时从 localStorage/indexedDB 填充存储。

【讨论】:

  • localStorage 听起来像是一个计划。我的表中还有其他字段,为了保持代码的一致性,我无法删除 v-model。你能帮我用我的代码实现 localStorage 吗?
猜你喜欢
  • 2020-07-28
  • 2011-03-13
  • 1970-01-01
  • 1970-01-01
  • 2020-07-12
  • 1970-01-01
  • 1970-01-01
  • 2015-10-26
  • 2014-01-09
相关资源
最近更新 更多