响应式数据转换及清空数据

一、响应式数据转换

1.应用场景:Element组件的input和button通过点击相互切换,用v-if和v-else来控制显示与隐藏,v-if拿到数据,修改数据true,但是依旧不能改变按钮状态。
2.方法:this.$set(点击的属性, '响应式属性名', 值)
3.代码实现:

<template>
  <el-input v-if="row.inputVisible" ref="saveTagInput" v-model="row.inputValue" 
          class="input-new-tag" size="small"/>
              <!-- @click="showInput" row:当前点击的销售属性-->
  <el-button v-else class="button-new-tag" size="small" @click="addSaleAttrValue(row)">添加</el-button>
</template>
<script>
  export default {
    methods:{
        addSaleAttrValue(row) {
      // 点击销售属性值当中的按钮的时候,需要由button变为input,通过当前销售属性的inputVisible控制
      // 谁,将哪个响应式属性,值为何
      this.$set(row, 'inputVisible', true)
    }
  }
}
</script>
二、清空数据

1.应用场景:点击取消按钮和保存按钮时清空表格数据
2方法:Object.assign(this._data, this.$options.data())
3.代码实现:

// 取消按钮回调
    cancel() {
      // 取消按钮回调,通知父亲切换场景为0
      this.$emit('changeScene', { scene: 0, flag: '' })
      // 清理数据
      // Object.assign:es6中的方法,可以合并对象 this._data:源码组件实例,可以操作data当中的响应式数据
      //  this.$options:获取配置对象,配置对象的data函数执行,返回的响应式数据为空
      Object.assign(this._data, this.$options.data())
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、简介 1、 Vue.js 是什么 参考网址:https://cn.vuejs.org/v2/guide/ind...
    满天繁星_28c5阅读 500评论 0 1
  • 链接:https://cn.vuejs.org/v2/api/#Vue-filter API TPshop中国免费...
    zz云飞扬阅读 491评论 0 0
  • 初识Vue 搭建基础框架 <!DOCTYPE html> 初识Vue <!-- 引入Vue --> <!-- 准备...
    工作中的喵阅读 333评论 0 0
  • # Vue.js - day01 ## 插件安装推荐 vscode有二个常用插件:vetur,Vue 2 Snip...
    wuyuan0127阅读 600评论 0 0
  • Vue Vue是一个前端js框架,由尤雨溪开发,是个人项目 Vue近几年来特别的受关注,三年前的时候angular...
    hcySam阅读 302评论 0 0