vue2和el-input无法修改和写入,并且不报错

文章目录

    • 一. 业务场景描述
    • 二. 原因分析
    • 三.解决方案
      • 3.1 方案一 原生标签(不建议)
      • 3.2 方案二 父子传递(不建议)
      • 3.3 方案三 vuex,pinia 状态传值(不建议)
      • 3.4 方案四 vue初始化属性 (建议)


看过相关的很多内容,大部分集中在说需要添加$forceUpdate.而我根本不行。具体业务场景详见下文

一. 业务场景描述

在我所在的业务场景中。我嵌套了多层匿名子组件,用来展示某条数据的不同业务

在这里插入图片描述
如上图在基本情况简介中有数个属性表单。
我如下遍历

    <el-tablev-loading="loading":data="xunchaDataList"@expand-change="expandRow"@selection-change="handleSelectionChange"><el-table-column type="expand"><template #default="props">.............<el-tab-pane label="基本情况简介" name="introduction"><template v-if="props.row.countryType === '村社区'">............<div v-if="String(props.row.country_introducts[item.key]).length <= 15"><el-input:readonly="isOnlyRead":placeholder="props.row.country_introducts[item.key]"v-model="props.row.country_introducts[item.key]"/></div></template><template v-else> 暂无数据</template></el-tab-pane></template></el-table-column></el-table>

上述内容中经测试,数据回显异常,程序不报错,无法显示输入变化,但是数据可以被正常修改。


二. 原因分析

v-model="props.row.country_introducts[item.key]" 这里存在多个问题:

  1. vue规范中子组件不能直接被修改,保证了单向数据流,避免了数据的混乱与不可预测性。 但经测试是可以修改,但是无法回显罢了。建议不要这样做。
  2. vue无法监听动态属性,country_introducts[item.key]是不可预测的,没有在vue初始化时和vue绑定,vue无法感知动态新增的属性变化。

三.解决方案

3.1 方案一 原生标签(不建议)

使用原生input等。他的机制和el-input略有不同。但也不建议。因为v-model="props.row.country_introducts[item.key]"仍然破坏了vue的单向数据流原则。

3.2 方案二 父子传递(不建议)

使用父子传递,通知父组件强制刷新。 但我的业务中可以发现,进行了多层匿名子组件嵌套。递交任务十分麻烦。

3.3 方案三 vuex,pinia 状态传值(不建议)

虽然可以通过这种方式让父子数据交互,但可以发现,子组件的v-model接收对象,和props.row的交互逻辑异常麻烦。

3.4 方案四 vue初始化属性 (建议)

业务中原本使用动态方式,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

由于orginParams初始化为 originParams:{}.造成originParams被赋值时,属性均为动态型。
解决方案就是按照prop.row包含的属性。将originParams初始化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/385387.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyCharm2024 专业版激活设置中文

PyCharm2024 专业版激活设置中文 官网下载最新版&#xff1a;https://www.jetbrains.com/zh-cn/pycharm/download 「hack-jet激活idea家族.zip」链接&#xff1a;https://pan.quark.cn/s/4929a884d8fe 激活步骤&#xff1a; 官网下载安装PyCharm &#xff1b;测试使用的202…

javaEE-01-tomcat

文章目录 javaWebTomcat启动 Tomcat 服务器测试服务器是否成功停止tomcat服务器修改服务器的端口号 Idea整合tomcat服务器 javaWeb 所有通过 Java 语言编写可以通过浏览器访问的程序的总称,是基于请求和响应来开发的。 请求: 客户端给服务器发送数据(Request)响应: 服务器给客…

[极客大挑战 2019]BabySQL1

这是上一个SQL注入的升级版&#xff0c;首先打开靶机 有了上次的经验&#xff0c;我们直接联合查询&#xff1a;?usernameaaaunion select null,null,null#&password1234 看报错信息&#xff0c;null&#xff0c;null&#xff0c;null#有错误&#xff0c;猜测select被过滤…

spring常用注解有哪些

Spring框架使用了大量的注解来简化配置和开发&#xff0c;以下是一些常用的Spring注解&#xff1a; 1.Component&#xff1a;通用的构造型注解&#xff0c;用于标记一个类作为Spring管理的组件&#xff0c;通常用于自定义组件。 2.Autowired&#xff1a;用于自动装配Bean&#…

OCCT使用指南:Foundation Classes

1、介绍 本手册解释了如何使用Open CASCADE Technology (OCCT) Foundation Classes。它提供了关于基础类的基础文档。有关基础类及其应用的高级信息&#xff0c;请参阅我们的电子学习和培训产品。 基础类提供各种通用服务&#xff0c;如自动动态内存管理&#xff08;通过句柄操…

RT-Thread debug 卡死在Stm32_putc问题分析解决

问题和解决方法 找了块开发板玩RT-Thread&#xff0c;一顿骚操作之后&#xff0c;发现debug就卡死在Stm32_putc(不稳定&#xff0c;反复重新上下电&#xff0c;重来有时候卡死有时候不卡死)&#xff0c;卡死情况如下图&#xff1a; 先最后的解决方法&#xff1a;取消调默认的内…

MySQL数据库-备份恢复

一、MySQL日志管理 1.为什么需要日志 用于排错用来做数据分析了解程序的运行情况&#xff0c;了解MySQL的性能 2.日志作用 在数据库保存数据时&#xff0c;有时候不可避免会出现数据丢失或者被破坏&#xff0c;这样情况下&#xff0c;就必须保证数据的安全性和完整性&#…

《javaEE篇》--阻塞队列详解

阻塞队列 阻塞队列概述 阻塞队列也是一种队列&#xff0c;和普通队列一样遵循先进先出的原则&#xff0c;但是阻塞队列相较于普通队列多了两项功能阻塞添加和阻塞移除&#xff0c;使得阻塞队列成为一种线程安全的数据结构 阻塞添加&#xff1a;当队列满的时候继续入队就会阻…

css大屏设置中间元素四周渐变透明效果

css大屏设置中间元素四周渐变透明效果 四周透明效果&#xff1a; // 设置蒙版上下左右渐变显示mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0) 100%),linear-gradient(to bottom, rgba(0, 0, 0…

scrapy 爬取旅游景点相关数据(一)

第一节 Scrapy 练习爬取穷游旅游景点 配套视频可以前往B站&#xff1a;https://www.bilibili.com/video/BV1Vx4y147wQ/?vd_source4c338cd1b04806ba681778966b6fbd65 本项目为scrapy 练手项目&#xff0c;爬取的是穷游旅游景点列表数据 0 系统的环境 现在网上可以找到很多scr…

ArcGIS Desktop使用入门(四)——ArcMap软件彻底卸载删除干净

系列文章目录 ArcGIS Desktop使用入门&#xff08;一&#xff09;软件初认识 ArcGIS Desktop使用入门&#xff08;二&#xff09;常用工具条——标准工具 ArcGIS Desktop使用入门&#xff08;二&#xff09;常用工具条——编辑器 ArcGIS Desktop使用入门&#xff08;二&#x…

AV1技术学习:Quantization

量化是对变换系数进行&#xff0c;并将量化索引熵编码。AV1的量化参数 QP 的取值范围是0 ~ 255。 一、Quantization Step Size 在给定的 QP 下&#xff0c;DC 系数的量化步长小于 AC 系数的量化步长。DC 系数和 AC 系数从 QP 到量化步长的映射如下图所示。当 QP 为 0 时&…

全开源收银系统源码-支付通道

1.收银系统开发语言 核心开发语言: PHP、HTML5、Dart后台接口: PHP7.3后合管理网站: HTML5vue2.0element-uicssjs线下收银台&#xff08;安卓/PC收银、安卓自助收银&#xff09;: Dart3框架&#xff1a;Flutter 3.19.6助手: uniapp商城: uniapp 2.支付通道 智慧新零售收银系统…

使用vscode,cmake,opencv gpu进行硬解码视频

在此之前需要基于msvc编译器来编译gpu版opencv&#xff0c;详细内容请查看windows下不依赖Visual Studio编译gpu版opencv&#xff0c;支持硬解码硬编码 vscode安装&#xff1a;这个就不赘述了&#xff0c;安装完vscode后需要安装cmake tools插件配置opencv的dll库路径&#xf…

Windows版MySQL8.4.2LTS解压直用(下载免安装-绿色-项目打包直接使用-含卸载)

文章目录 下载地址选择GPL选择server选择8.5.2LTS长期服务版 配置解压配置环境变量初始化新建my.ini配置root密码安装mysql启动mysql服务 使用mysql登陆mysql修改mysql密码设置客户端可连接远程MySQL服务器修改host为值为”%“ 执行语句: update user set host% where userroot…

K210视觉识别模块学习笔记8:Mx_yolo3本地模型训练环境搭建_部署模型到亚博canmv(失败)

今日开始学习K210视觉识别模块: 本地模型训练环境搭建 亚博智能 K210视觉识别模块...... 固件库: canmv_yahboom_v2.1.1.bin 本地训练 Mx_yolo3 这里就简单地提示一下下载安装哪些软件&#xff0c;然后主要是使用Mx_yolo3 进行本地训练模型的...... 本文不…

第13周 简历职位功能开发与Zookeeper实战

第13周 简历职位功能开发与Zookeeper实战 本章概述1. Mysql8窗口函数over使用1.1 演示表结构与数据1.2 案例1:获取男女总分数1.3 案例2****************************************************************************************本章概述 1. Mysql8窗口函数over使用 参考案例…

【算法】分布式共识Paxos

一、引言 在分布式系统中&#xff0c;一致性是至关重要的一个问题。Paxos算法是由莱斯利兰伯特&#xff08;Leslie Lamport&#xff09;在1990年提出的一种解决分布式系统中一致性问题的算法。 二、算法原理 Paxos算法的目标是让一个分布式系统中的多个节点就某个值达成一致。算…

Linux--Socket编程预备

目录 1. 理解源 IP 地址和目的 IP 地址 2.端口号 2.1端口号(port)是传输层协议的内容 2.2端口号范围划分 2.3理解 "端口号" 和 "进程 ID" 2.4理解 socket 3.传输层的典型代表 3.1认识 TCP 协议 3.2认识 UDP 协议 4. 网络字节序 5. socket 编程接…

代码随想录day21 二叉树最后一天 || 669修剪二叉树 108将有序数组转变为平衡搜索二叉树 538把搜索二叉树变为累加二叉树

669修剪二叉树 力扣题目链接 题目描述&#xff1a; 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即&#xff0c;如果…