zoukankan      html  css  js  c++  java
  • vue form绑定数据后只能显示不能编辑

    问题描述:

    数据绑定后form上,数据能够正常显示,像单选、下拉框等能操作,但是操作后,显示的值不变,页面自动更新后才能显示。

    原因分析:

    是因为在赋值的时候,没有在data中声明属性,如下面的代码:

    <script>
    export default {
      data () {
        return {
          formModel: {}
        }
      },
      methods: {
        processFormData (val) {
          let s = JSON.parse(JSON.stringify(val))
          this.formModel.name = s.name
          this.formModel.pwd = s.pwd
        }
      }
    }
    </script>

    此时,由于没有声明'name','pwd',属性绑定到form-item上后,只能显示不能编辑,编辑后更新页面才会显示编辑后的内容 。

    修改方法

    一,修改代码,如下,在data中声明属性

    <script>
    export default {
      data () {
        return {
          formModel: {
            name: '',
            pwd: ''
          }
        }
      },
      methods: {
        processFormData (val) {
          let s = JSON.parse(JSON.stringify(val))
          this.formModel.name = s.name
          this.formModel.pwd = s.pwd
        }
      }
    }
    </script>

    二、使用this.$set进行赋值

    <script>
    export default {
      data () {
        return {
          formModel: {}
        }
      },
      methods: {
        processFormData (val) {
          let s = JSON.parse(JSON.stringify(val))
          this.$set(this.formModel, 'name', s.name)
          this.$set(this.formModel, 'pwd', s.pwd)
        }
      }
    }
    </script>
  • 相关阅读:
    方法的封装与调用(十)
    适配器设计模式及GenericServlet(九)
    错误页设置,设置HTTP状态码404,500(八)
    设置默认首页(七)
    ServletContext接口(六)
    javax.servlet.ServletConfig接口(五)
    C语言第2天基本运算
    再议extern和include的作用
    C语言中的++和--
    C语言培训第一天
  • 原文地址:https://www.cnblogs.com/donfaquir/p/12384769.html
Copyright © 2011-2022 走看看