vue 组件同页面多次调用 props 传值无效

2023-11-07

项目场景:

在同一个编辑页面使用了同一个Vue组件,导致props 传值无效


问题描述:

在做一个文章编辑的页面,需要通过切换文章类型 ( 音频 / 视频) 显示隐藏上传不同类型的按钮给用户上传 , 例如以下代码会出现一个奇怪的问题, 当我从article_mode 从音频 切换到 视频 的时候 filters的改变无效:

// 音频组件
<upload-component
    v-if="article_mode ==10"
   :value.sync="article_audio"
   :filters="{
     mime_types : [
       {title : 'Mp3 files', extensions : 'mp3' }
     ],
     max_file_size : '20mb'
   }"
 />
}
// 视频组件
<upload-component
   v-if="article_mode ==20"
   :value.sync="article_video"
   :filters="{
     mime_types : [
       {title : 'Mp4 files', extensions : 'mp4' }
     ],
     max_file_size : '30mb'
   }"
 />
}

解决方案:

增加一个:key 作用域

key的特殊attribute主要用在Vue的虚拟DOM算法,在新旧Nodes对比时辨识VNodes。如果不使用key,Vue会使用一种最大限度减少动态元素并且尽可能的尝试就地修改、复用相同类型元素的算法,而使用key时,它会基于key的变化重新排列元素顺序,并且会移除key不存在的元素。此外有相同父元素的子元素必须有独特的key,重复的key会造成渲染错误。

// 音频组件
<upload-component
    v-if="article_mode ==10"
   :key="0" // 新增
   :value.sync="article_audio"
   :filters="{
     mime_types : [
       {title : 'Mp3 files', extensions : 'mp3' }
     ],
     max_file_size : '20mb'
   }"
 />
}
// 视频组件
<upload-component
   v-if="article_mode ==20"
   :key="1" // 新增
   :value.sync="article_video"
   :filters="{
     mime_types : [
       {title : 'Mp4 files', extensions : 'mp4' }
     ],
     max_file_size : '30mb'
   }"
 />
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue 组件同页面多次调用 props 传值无效 的相关文章

  • 【单目标优化算法】樽海鞘群算法(Matlab代码实现)

    个人主页 研学社的博客 欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 文献来源 4 Matlab代码实现 1 概述 在过去的
  • vmware中centos7启动出现Internal error xfs XFS_WANT_CORRUPTED_GOTO错误

    vmware中centos出现 sda Assuming drive cache write through Internal error xfs XFS WANT CORRUPTED GOTO at line 1692 of file f
  • 怎么写一篇技术笔记

    为什么要写笔记 为什么做笔记 从我们开始上学开始就开始做各种不同笔记 好记性不如烂笔头 做笔记的第一个目的好像就是为了抵抗遗忘 根据艾宾浩斯遗忘曲线 记忆是不断的流逝 只有不定时去补偿记忆 才能能够减缓遗忘的速度 做笔记也是一个对知识点的一

随机推荐

  • RandomAccessFile使用小结

    本文是基于Linux环境运行 读者阅读前需要具备一定Linux知识 RandomAccessFile是Java输入 输出流体系中功能最丰富的文件内容访问类 既可以读取文件内容 也可以向文件输出数据 与普通的输入 输出流不同的是 Random
  • Knife4j 基础(OpenAPI3+SpringBoot2.7)

    1 Knife4j基础 OpenAPI3 SpringBoot2 7 本文按照官方文档 在 SpringBoot 2 7 项目中 集成 Knife4j 的 OpenAPI3 版本 2 官网 Knife4j官网 Knife4j在实现OpenA
  • adb shell后,getevent退出方法

    adb shell后 getevent退出方法 输入 exit 然后回车退出
  • ubuntu 下安装微软字体和 console

    https www cnblogs com feipeng8848 p 9649089 html 转载于 https www cnblogs com zach0812 p 11514680 html
  • SJTU简单路径数目

    Description 大家还记得邻接表类吗 没错 邻接表是表示稀疏图 边数比较少的图 的一种很好的数据结构 现在 我们要求使用深度优先遍历的思想 利用邻接表类 对给定的有向图 找出从指定结点start出发 长度为M的所有简单路径 简单路径
  • 超详细的卷积后大小的计算公式

    计算公式定义 定义几个参数 输入图片大小 W W 卷积核大小 F F 步长 S padding的像素数 P 于是我们可以得出计算公式为 N W F 2P S 1 输出图片大小为 N N 以resnet50为例 输入为 1 3 224 224
  • 手机耳机怎么在电脑上说话_手机耳机怎样当做电脑麦克风?

    首先 这篇文章讲的是有绿粉两个颜色的耳机 麦克接口的电脑 方法一 某宝9 9一条耳机一分二分线器进行解决 注意默认录音设备是否设置对了 方法二 玄学声卡 某些电脑的自带声卡很神奇 可以玄学逆转电流 就比如我家电脑 只要把手机耳机 单线耳机
  • Hive启动报错(个人遇到问题&解决方法)

    hive执行sql报错 FAILED SemanticException org apache hadoop hive ql metadata HiveException java lang RuntimeException Unable
  • C++ 代码换行

    1 字符串太长 换行显示 怎么办 2 使用反斜杠 如下 string str abcd 1234 注意 反斜杠后面不准有任何字符 下一行开头的制表符不包含在整个字符串中 但是下一行开头的空格符包含在整个字符串中 3 使用双引号 如下 str
  • 浅谈关于QT中Webkit内核浏览器

    关于QT中Webkit内核浏览器是本文要介绍的内容 主要是来学习QT中webkit中浏览器的使用 提起WebKit 大家自然而然地想到浏览器 作为浏览器内部的主要构件 WebKit的主要工作是渲染 给定一个HTML文件 WebKit的工作是
  • linux设备管理之设备号与次设备号

    linux设备管理之主设备号与次设备号 jinzi 博客园 剽窃 过来的 记录下 以备查 主设备号和次设备号 一个字符设备或者块设备都有一个主设备号和次设备号 主设备号和次设备号统称为设备号 主设备号用来表示一个特定的驱动程序 次设备号用来
  • 使用 Python 对股票数据分析预测

    使用 Python 对股票数据分析预测 文章目录 使用 Python 对股票数据分析预测 目录索引 模块安装 股票数据获取 雅虎财经 Quandl 模块 Pandas Datareader 模块 数据预处理 缺失值查找 数据规范化 股价涨跌
  • 前端埋点VS后端埋点

    前端埋点比后端埋点更灵活 比如页面停留时间 点击下拉框动作等都可以通过埋点接口让后端记录下来 而后端埋点 这些是记录不下来的 因为没有请求 后端埋点还有一个问题 有可能前端不同按钮调用后端同一个接口 此时后端埋点是区分不出来的 后端埋点又分
  • 代码习惯

    补个liangs333的代码习惯 include
  • 全面 Serverless 化,阿里云微服务引擎 MSE 重磅升级

    微服务已成为企业数字化首选的应用架构 并正在向缩短服务的构建周期和降低资源成本 提升架构质量和架构效率两个方向演进 今天 阿里云正式宣布微服务引擎 MSE 重磅升级 全面 Serverless 化 带来两大新形态和两大新体验 产业新形态 业
  • [Android AIDL系列 1] 手动编译aidl文件,生成Java、C++[android]、C++[ndk]、Rust接口

    AIDL文件在Android系统上应用广泛 和底层的Binder机制紧密关联 在Android源码或者Android Studio中通常是自动编译aidl文件 生成对应语言的接口文件 做应用层Java开发 aidl和binder封装的比较
  • centos7虚拟网卡其他服务器不识别,Vmware10 下安装centos7,网卡无法识别问题处理...

    问题表现 之前安装的是32位版本的centos5 后来操作不当损坏 于是安装了64位版本的centos7 安装后网卡无法识别 用如下第一种方式顺利解决 网络连接使用nat方式 由于Vmware虚拟网卡和linux兼容问题导致驱动无法正常安装
  • Retrofit+OKHttp+RxAndroid,图文最详细解释(Kotlin)

    文章目录 一 Retrofit 1 上图说明了如下几点 2 Retrofit 对Okhttp做了什么 3 下面我们来看一下Retrofit的具体使用 1 导入依赖 module build gradle下 2 添加网络权限 src main
  • mac iterm2快捷键

    mac iterm2快捷键 1 命令一 查找 Cmd f 自动完成 Cmd 命令历史 Cmd Shift H
  • vue 组件同页面多次调用 props 传值无效

    项目场景 在同一个编辑页面使用了同一个Vue组件 导致props 传值无效 问题描述 在做一个文章编辑的页面 需要通过切换文章类型 音频 视频 显示隐藏上传不同类型的按钮给用户上传 例如以下代码会出现一个奇怪的问题 当我从article m