a-cascader编辑绑定值数据变化,但页面dom不回显不更新问题($set用法)

2023-10-27

问题:

编辑时,级联组件绑定数据变化,的dom不进行更新

原因:

引用值类型(对象或数组)动态添加或删除某一个属性值,需要使用this.$set 或者 Object.assign()===不然数据触发不到getter和setter。
(对from直接赋值不会影响dom更新,但是动态添加某一属性会影响)

深入理解响应式:

为data中的 updateForm 对象添加一个属性,需要用到this. s e t ( 删 除 t h i s . set(删除this. set(this.delete)
深入理解vue响应式
数据进行初始化时(data中),将property通过object.defineProperty绑定getter和setter,从而进行获取和改变渲染(setter触发会触发watcher)

  async created() {
    await this.getGoodsCatgoryList()
    // this.getGoodsList()
    // 编辑的话,获取id信息
    if (this.$route.params.id) {
      // 获取id商品信息
      const storageId = getDAes(this.$route.params.id)
      const { data: result } = await getStorageById({ storageId })
      // 重新赋值,以前的已经消失不存在了
      this.updateForm = result.data
      // 获取选择产品下拉框
      await this.getGoodsList(this.updateForm.categoryId)
      // 下拉框回显
      // this.updateForm.selectedGoodsCatgory = [this.updateForm.categoryId]
      // this.updateForm.selectedGoodsList = [this.updateForm.prodId]
      this.$set(this.updateForm, 'selectedGoodsCatgory', [this.updateForm.categoryId])
      this.$set(this.updateForm, 'selectedGoodsList', [this.updateForm.prodId])
      console.log(this.updateForm)

      // 获取销售价 结算价参数
      if (this.updateForm.salePriceType !== 0) {
        this.saleRadioInputForm[this.saleRadioInput[this.updateForm.salePriceType]] = this.updateForm.salePriceParam
      }
      if (this.updateForm.costPriceType !== 0 && this.updateForm.costPriceType !== 1) {
        this.costRadioInputForm[this.costRadioInput[this.updateForm.costPriceType]] = this.updateForm.costPriceParam
      }
    }
  },

总结:

data中初始化的数据响应式会影响dom更新,所以dom中凡是使用的数据都要在data中绑定。
如何数据变化dom不更新,说明有对data中对象添加或删除树形 / 数组用索引设置数组项 或 改变长度

(对from直接赋值不会影响dom更新,但是动态添加某一属性会影响)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

a-cascader编辑绑定值数据变化,但页面dom不回显不更新问题($set用法) 的相关文章

  • 【id:120】【25分】B. 虚拟电话(构造与析构)

    时间限制 1s 内存限制 128MB 题目描述 虚拟电话包含属性 电话号 状态 机主姓名 1 电话号是一个类 它包含号码和类型 其中号码是整数类型 类型用单个字母表示用户类别 A表示政府 B表示企业 C表示个人 类操作包括构造 属性的获取和
  • 【WiFi】WIFI芯片的研发

    目录 1 硬件设计 2 软件开发 3 集成和测试 4 认证和合规性 5 量产和供应链管理 6 总结说明 1 硬件设计 首先 您需要进行WiFi芯片的硬件设计 这包括选择适当的射频 RF 芯片 基带处理器 调制解调器等组件 并进行电路设计和布
  • Unity C# The type or namespace name could not be found 解决办法

    在使用Unity写脚本的时候有可能需要用到外部的库 这个时候如果直接用VS里的NuGet安装包 安装完之后可以运行 但是重启Unity之后就会出现 CS0246 C The type or namespace name could not
  • Numpy-基础数据结构

    Numpy是python中一个运行速度非常快的的数学库 主要用于数组计算 包含 一个强大的N维数组对象 ndarray 广播功能函数 线性代数 傅里叶变换 随机数生成等功能 接下来 我会系列介绍Numpy的知识点 包含其基础数据结构 通用函
  • 【OpenGL学习】光源

    光源 本节中 LearnOpenGL 教程中的标题为投光物 表示将光线投射到物体的光源 事实上这些投光物都可以称之为光源 包括平行光 点光源 聚光灯等 不同类型的光源可以给场景带来不同的光照效果 本节主要学习定向光 Directional
  • Tinymce富文本编辑器在vue项目中的使用;引入第三方插件和上传视频、图片等

    先放张效果图 第一步 安装依赖 npm install tinymce 5 0 12 第二步 在项目中的public文件夹中新建tinymce文件夹 因为我的项目是脚手架创建的 所以公共文件夹是public 在node modules中找到
  • chrome 安装axure 插件

    一般使用chrome查看axure原型文件时 会提示安装插件 但是又连不上google扩展安装 这里提供一个简便的方式安装 1 静态原型页面路径resources chrome axure chrome extension crx 找到文件
  • RTThread中HardFault_Handler分析

    以Cortex M3为例 RTThread在运行过程如果产生fault 会进人HardFault Handler中断 RTThread对HardFault Handler进行了重定义 HardFault Handler函数在context
  • vue2+three.js实现宇宙(进阶版)

    2023 9 12今天我学习了vue2 three js实现一个好看的动态效果 首先是安装 npm install three 相关代码如下
  • SSL是什么?SSL怎么用?

    SSL是什么 SSL Secure Sockets Layer 安全套接层 及其继任者传输层安全 Transport Layer Security TLS 是为网络通信提供安全及数据完整性的一种安全协议 如今被广泛使用 如网页 电子邮件 互
  • STM32F103基于HAL工程TIM4多通道PWM固定占空比输出

    STM32F103基于HAL工程TIM4多通道PWM固定占空比输出 在测试过程中发现配置的2路PWM总是只有一个固定的通道有输出 于是复用到其他引脚 输出波形有 确定是芯片引脚的问题 后面换了一块板测试 确定是芯片引脚确实有问题 刚开始一直
  • 史上最全Elasticsearch学习

    文章目录 Elasticsearch 一 Elasticsearch简介 安装 1 1 Elasticsearch是什么 1 2 全文搜索引擎 1 3 Elasticsearch的应用案例 1 4 Elasticsearch的下载 安装 运
  • python异常处理

    Python3 错误和异常 作为 Python 初学者 在刚学习 Python 编程时 经常会看到一些报错信息 在前面我们没有提及 这章节我们会专门介绍 Python 有两种错误很容易辨认 语法错误和异常 Python assert 断言
  • 【计算机科学与技术】信息论笔记(6):微分熵

    200803本篇是学习信息论的入门笔记 希望能与各位分享进步 这是第六章 微分熵 文章目录 6 微分熵 6 1 定义 6 2 连续随机变量的AEP 6 3 微分熵与离散的关系 6 4 联合微分熵与条件微分熵 6 5 相对熵与互信息 6 6
  • ubuntu 12.04安装jdk

    分类 LINUX 在安装之前 系统没有任何jdk软件 也就是说在终端执行 java version 将会输出如下内容 root haiyang Aspire java version 程序 java 已包含在下列软件包中 default j
  • 解决linux下图形界面卡死不能操作的问题

    由于linux系统bug很多 所以有时候用着用这就会发生图形界面卡死不能操作的情况 具体解决方法如下 1 按住ctrl alt f2 然后进入了一个黑色的shell界面 注 linux下共有六个虚拟控台 f2 f6 分别对应这不同的权限 2
  • 小程序仿微信支付键盘实现

    先上图 2 实现过程 键盘放在了vant weapp组件的弹窗框popup中 并且默认进入页面自动弹出键盘 index wxml
  • java -- Math、BigInteger、BigDecimal类和基本类型的包装类、正则表达式

    Math java lang Math 类包含用于执行基本数学运算的方法 如初等指数 对数 平方根和三角函数 类似这样的工具类 其所有方法均为静态方法 并且不会创建对象 调用起来非常简单 Math PI 静态常量 public static
  • AD器件飞出可视区域如何推拽回来

    步骤1 选择器件 步骤2 摆放器件 先说摆放器件 如下图 三个器件 加入我们需要摆放右侧的两个器件到指定区域 先选择要摆放的器件 操作如下 绘制需要摆放的区域 器件已经被移动过来了 完成 上述方法可以对大量器件进行整体移动 利用上述方法可以
  • 基于改进YOLO的玉米病害识别系统(部署教程&源码)

    1 研究背景与意义 近年来 农业科技的快速发展为农作物的种植和管理带来了许多便利 然而 农作物病害的防治仍然是一个全球性的挑战 玉米作为世界上最重要的粮食作物之一 受到了许多病害的威胁 如玉米灰斑病 玉米穗腐病等 这些病害不仅会导致玉米产量

随机推荐

  • IM群聊消息如此复杂,如何保证不丢不重?

    1 前言 群聊已经成为主流IM软件的基本功能 不管是QQ群 还是微信群 一个群友在群内发了一条消息 那么对于IM服务器来说需要保证 在线的群友能第一时间收到消息 离线的群友能在登陆后收到消息 由于 消息风暴扩散系数 的存在 概念详见 IM单
  • sas数字转日期格式_一个关于sas日期时间读入格式的问题

    方法一 直接使用SAS的PROC IMPORT 可以直接识别DATETIME格式 SAS版本9 2 PROC IMPORT OUT WORK T5 DATAFILE C temp csv DBMS CSV REPLACE GETNAMES
  • clickhouse优化最佳实践

    clickhouse在易企秀数据仓库项目中已投入使用两年 主要为内部用户提供快速查询和多维分析的能力 希望你在业务当中遇到的性能问题 在这里都能得到解决 Clickhouse堪称OLAP领域的黑马 最近发布的几个版本在多表关联分析上也有了极
  • 有什么事在Linux上顺理成章,在Windows就令人费解?

    Linux与Windows都是十分常见的电脑操作系统 相信大家对它们二者都有所了解 在我们的使用过程中 是否有遇到这种情况 在Linux上顺理成章 换到Windows上就令人费解 文章目录 一 介绍 2 1 Linux系统 1 2 Wind
  • c# 已知文件路径,遍历文件夹下的.lnk文件(其他类型的文件也可同样的方法操作)

    遍历文件夹下的 lnk文件 public static string ForeachFiles lnk string FilePath string files Directory GetFiles FilePath lnk SearchO
  • vue webpack3 升级webpack4

    vue webpack3 升级webpack4 据说webpack3 比webpack4 编译速度将近快了60 80 成功升级之后 于是来记录下 项目主要是vue 2 5 9 webpack 4 10 2 webpack dev sever
  • 支付宝支付回调

    1 支付宝回调地址设置在上一篇博客已经记录 地址 https blog csdn net qq 38669394 article details 106671410 2 支付宝回调方法 最主要两点 一个是如何接受参数 另一个是验签 这里需要
  • 软件工程师的衰落与程序员的崛起

    全文共4711字 预计学习时长14分钟 来源 cu manmanbuy 我周围大多数人都是软件工程师或计算机科学家 大多经验丰富且接受过严格的计算机科学教育 当然 这只能成就一个计算机科学 却不一定能成就编程 许多经验丰富的同事都痛惜年轻同
  • 用secureCRT串口工具发送hex字符串的方法

    最近工作中 遇到了需要在串口工具发送hex字符 直接在secureCRT的 交互窗口输入是不行的 我需要输入的hex字符串为 FEFE010601F9 解决方法如下 1 下载并安装winhex 下载地址 https www onlinedo
  • 怎么样使用Navicat for MySQL 导出mysql中的数据和将sql数据库文件导入到mysql数据库中

    很久没有使用navicat for mysql 了 一些基本的操作都遗忘 为避免下次再出现这种情况 先记下吧 将mysql数据文件导入到数据库中 1 在navicat 中创建一个mysql数据库链接 填写端口 用户名 密码 2 创建数据库
  • 《Hadoop权威指南》书摘-MapReduce概述

    转载请注明出处 独立博客 http wangnan tech 简书 http www jianshu com u 244399b1d776 知乎 https zhuanlan zhihu com c 121958856 MapReduce是
  • 技能树-网络爬虫-selenium

    文章目录 前言 一 selenium 二 selenium 测试用例 总结 前言 大家好 我是空空star 本篇给大家分享一下 技能树 网络爬虫 selenium 一 selenium Selenium是web自动化测试工具集 爬虫可以利用
  • Unity_获取当前点击物体的名字(获取名字

    获取当前点击物体的名字 返回一个string类型的值 EventSystem current currentSelectedGameObject name
  • Ant Design Blazor 发布 0.13.0,正式支持.NET 7!

    时隔3个月 Ant Design Blazor 发布新功能版本 0 13 0 并正式支持 NET 7 大家快去访问 antblazor com 体验吧 新增 NET 7 目标框架支持 2810 ElderJames 重构 Mentions
  • 问题:USART无法进入接收中断

    原因1 时钟TIM的超时配置不正确 时间太短 解决1 将时钟TIM超时时间加长 原因2 接收中断未使能 解决2 将接收中断ENABLE
  • Vue-移动端rem适配

    1 rem 使用 rem 单位可以让设计更加灵活 能够控制元素整体放大缩小 而不是固定大小 rem单位基于 html 元素字体大小 2 适配工具 lib flexible postcss px2rem exclude 3 lib flexi
  • Google Play 上架总结(二)Google账户关联详解

    近期 本人在 App 上架Google Play 过程中 频繁遇到账号被关联封禁 在踩过很多坑后 我觉得有必要总结一下 给其它朋友作为参考 一 Google 账户关联是指什么 账户关联是就是当Google开发者账号因为各种原因被封停了 此时
  • Java制作报表系统流程_finereport报表制作详细过程

    一般来说 一个完整的报表设计流程 大体分为如下几个步骤 1 打开设计器 2 配置数据源 3 新建报表 4 配置私有数据源 5 报表设计 6 预览报表 7 发布报表 第一部分 配置数据源 打开报表设计器 在设计器最上方的菜单栏当中 选择服务器
  • Redis时单线程设计的,为什么还这么快

    单线程设计的考虑 Redis采用单线程好处在于避免了多线程对数据竞争的问题 加锁的问题 上下文切换的问题 据官方解释 redis的瓶颈不在cpu 而在内存或者网络的带宽 综合考虑然后就采用了单线程 Redis的性能非常高 每秒可以承受10W
  • a-cascader编辑绑定值数据变化,但页面dom不回显不更新问题($set用法)

    问题 编辑时 级联组件绑定数据变化 的dom不进行更新 原因 引用值类型 对象或数组 动态添加或删除某一个属性值 需要使用this set 或者 Object assign 不然数据触发不到getter和setter 对from直接赋值不会