即上一个随笔里面的form表单数据定义的问题之后,又出现了另一个问题。

页面里面有一个数组:

let ruleForm = reactive([
    {
    name:'123456'  
  }
])

我要动态的修改这个数组里面的值,并且对这个值进行校验,方法很简单:

let arrayB = react({})
arrayB = array[index];

然后校验修改后的arrayB,没问题后赋值给array[index]

思路很清楚,确实也可以,但是页面是会发现arrayB改动的同是array[index]也在同步的改变,因为上面的赋值属于是浅拷贝,这个不用过多的解释。

es6里面实现深拷贝最简单两种办法:

Object.assign({},array[index]);
另一种就是: JSON.parse(JSON.stringify(array[index]))
实现也很简单,但是这样放上去以后发现arrayB里面的数据无法修改了。
解决方案很简单:
在定义arrayB的时候,我们给arrayB定义一个属性名,然后对属性名进行深拷贝赋值,修改也是修改那个属性名,简单来讲就是再套一层数据:
let arrayB = react(obj:{})
arrayB.obj = Object.assign({}, array[index]);

这样的话就可以啦!

 

vue3 reactive值不更新的更多相关文章

  1. vue 值的更新

    用了vue开发了一段时间,基本上感觉都是比较好用的一个框架,刚开始还是会存在一些小坑的东西,这里先浅谈下值的更新问题. 1.本组件的一些变量,或者是主view(路由页面)一些值,是通过vuex 中st ...

  2. HUD.2795 Billboard ( 线段树 区间最值 单点更新 单点查询 建树技巧)

    HUD.2795 Billboard ( 线段树 区间最值 单点更新 单点查询 建树技巧) 题意分析 题目大意:一个h*w的公告牌,要在其上贴公告. 输入的是1*wi的w值,这些是公告的尺寸. 贴公告 ...

  3. 以A表中的值快速更新B表中记录的方法

    1.问题描述 有两张表,A表记录了某些实体的新属性,B表记录了每个实体的旧属性,现在打算用A中的属性值去更新B中相同实体的旧属性,如下图所示: 类似这样的需求,怎样做比较高效呢? 2.制作模拟数据   ...

  4. ngModel 值不更新/显示

    angular中的$scope是页面(view)和数据(model)之间的桥梁,它链接了页面元素和model,也是angular双向绑定机制的核心. 而ngModel是angular用来处理表单(fo ...

  5. [转]Hibernate设置时间戳的默认值和更新时间的自动更新

    原文地址:http://blog.csdn.net/sushengmiyan/article/details/50360451 Generated and default property value ...

  6. LoadRunner参数化之数据取值和更新方式

    其实看LR已经很久了,每次看到参数化的取值更新时,都没有看透,了解个大概就为止了,也确实挺搞脑子的. 现在理解下来 分成2部分 取值方式  Select next row 如何从数据列表中取值 Seq ...

  7. Hibernate设置时间戳的默认值和更新时间的自动更新

    Generated and default property values 生成的和默认的属性值 The database sometimes generates a property value, ...

  8. 实现Django ORM admin view中model字段choices取值自动更新的一种方法

    有两个表,一个是记录网站信息的site表,结构如下: CREATE TABLE `site` ( `id` ) unsigned NOT NULL AUTO_INCREMENT, `name` ) N ...

  9. cf834D(dp+线段树区间最值,区间更新)

    题目链接: http://codeforces.com/contest/834/problem/D 题意: 每个数字代表一种颜色, 一个区间的美丽度为其中颜色的种数, 给出一个有 n 个元素的数组, ...

  10. 使用Ajax选取ListBox的值异步更新视图,并作为表单值提交

    一.控制器返回一个ViewBag MultiSelecList值. public ActionResult Create() { ViewBag.ReviewIndexItems = new Mult ...

随机推荐

  1. 浅谈RMQ问题

    RMQ:question 有一个长度为 N N N的数组,数组中的数是无序的( 1 < = n < = 5 ∗ 1 0 5 1<=n<=5*10^5 1<=n<=5 ...

  2. 2023 年该学点什么技术?「GitHub 热点速览 v.23.03」

    春节期间,小鱼干读了一篇万字回顾数据库行业的文章,在文字缝隙里我看见了两个词:AI+ 和数据两个词(当然数据是废话,毕竟是一个数据库的回顾文).在 GitHub 上热点趋势上,可见到 AI+ 的身影, ...

  3. Python调用Openstack API

    本文将介绍如何使用 python 调用 OpenStack API. 什么是RESTful API RESTful API 就是 RESTful 风格的 API.遵循 RESTful 风格开发的API ...

  4. AD7793 ADC FPGA控制逻辑实现

    AD7793简介 https://www.analog.com/media/en/technical-documentation/data-sheets/AD7792_7793.pdf 特点如下,有1 ...

  5. JSP第十次作业

    1.实现 删除 回复邮件2.实现阅读邮件功能:在main.jsp中点击任意邮件的标题,进入到detail.jsp显示邮件详情,包括发件人,主题,内容,时间.同时需要把邮件状态修改为已读. com.gd ...

  6. Visual Studio更改项目文件夹名称

    一.VS打开项目解决方案(按以下顺序操作) PS:如果已经出错,打不开.sln文件,就从第三步开始操作,进入目录更改对应其.csproj文件名称即可 1.选择要更改的项目或类库,右键属性,更改程序集名 ...

  7. P34_数据请求 - GET和POST请求

    网络数据请求 小程序中网络数据请求的限制 出于安全性方面的考虑,小程序官方对数据接口的请求做出了如下两个限制: 只能请求 HTTPS 类型的接口 必须将接口的域名添加到信任列表中 配置 request ...

  8. Spring Boot 防止接口被恶意刷新、暴力请求

    ​在实际项目使用中,必须要考虑服务的安全性,当服务部署到互联网以后,就要考虑服务被恶意请求和暴力攻击的情况,下面的教程,通过Spring Boot提供的HandlerInterceptor和Redis ...

  9. 删除resource中的图片后编译报错

    同僚的一篇文章是:https://www.cnblogs.com/jljxxf/archive/2012/08/19/2646937.html, 详细介绍了C#的Resources,其中关于删除资源这 ...

  10. Redhat7.6搭建LAMP环境

    关闭防火墙和 selinux# systemctl stop firewalld systemctl disable firewalld 禁用 Selinux vim /etc/selinux/con ...