项目中子组件封装的是一个picker,父组件需要传数组到子组件中。

如果父组件的数组出现变更,视图中的子组件或许不能直接刷新渲染,需要反复弹起几下才能看到。

试过深度监听,但都没有用,ref也不知道为啥调不动,我这边使用子组件时外面还有个循环。

综上所述,解决方案如下:

1、$nextTick():等之前dom视图数据渲染完成后再执行回调函数

1、添加一个变量isShowArr来判断是否显示该子组件

2、当数组变化后调用$nextTick方法来重新渲染子组件的内容

视图层:

        <view class="rt" v-if="agencyArr.length > 0 && isShowArr">
<pk-select :arr="agencyArr[index]" :atIndex="agencyArr[index].indexOf(agencyArr[index].find(x => x.id == item.agency_id))" keyIndex="name" @change="changeSelect($event,index,4)"></pk-select>
</view>

控制层:

        //当数组的值变更后
_self.agencyArr = arr;
_self.isShowArr = false;
_self.$nextTick(() => {
_self.isShowArr = true;
})

以此类推,除了基本数据类型可以试试监听属性,其余类型可以考虑 v-if 加 $nextTick 这个条件判断使dom重新渲染。

还有一种比较好用的就是:  使用key-changing

vue使用key标记组件身份,当key改变时就是释放原始组件,重新加载新的组件。

<template>
<div>
<component:key="key"></component>
</div>
</template>
<script>
export default {
data() {
return {
key: 0
}
},
methods: {
changeData() {
this.key ++;
}
}
}
</script>

uniapp-父组件数组变化同步子组件视图渲染的更多相关文章

  1. vue - 父组件数据变化控制子组件类名切换

    先说当时的思路和实现核心是父子组件传值和v-bind指令动态绑定class实现 1. 父组件引用.注册.调用子组件script中引用 import child from '../components/ ...

  2. 7.vue组件(二)--双向绑定,父子组件访问

    本文主要说两件事 1. 如何实现父子组件之间的双向绑定 2. 父组件如何访问子组件的data,method, 子组件如何访问父组件的data,method等 一. 如何实现父子组件之间的双向绑定 案例 ...

  3. VUE里子组件获取父组件动态变化的值

    在VUE里父组件给子组件间使用props方式传递数据,但是希望父组件的一个状态值改变然后子组件也能监听到这个数据的改变来更新子组件的状态. 场景:子组件通过props获取父组件传过来的数据,子组件存在 ...

  4. vue子组件数据变化同步到父组件中

    方法:通过watch监听子组件数据变化 1.父组件中注册方法 <Child @getChildValue="getChildValue"></Child> ...

  5. uni-app 父组件引用子组件时怎么调用子组件的方法

    1.写一个简单的子组件main/index.vue: <template> <view> </view> </template> <script& ...

  6. Vue : props 使用细节(父组件传递数据给子组件)

    props使用细节 在Vue.js中我们可以使用 props 实现父组件传递数据给子组件,下面我们总结一下props的使用细节 1.基础类型检查 2.必填数据 3.默认值 4.自定义验证函数 其中每一 ...

  7. Cocos Creator中按钮组件数组的使用

    Cocos Creator游戏开发中经常使用到按钮,特别是大量按钮的情况,此时使用数组来管理这些按钮就显得更具通用性.我大致走了一下官方的示例,好像没有发现有这个小内容(或者有,但我却是没有找到),于 ...

  8. 前端(二十二)—— vue组件:局部组件、全局组件、父组件数据传到子组件、子组件数据传到父组件、父子组件实现todoList

    Vue组件 一.组件介绍 每一个组件都是一个vue实例 每个组件均具有自身的模板template,根组件的模板就是挂载点,根组件也可以显式书写模板,会替换掉挂载点 每个组件模板只能拥有一个根标签 子组 ...

  9. 微信小程序将外部数据从父组件中传入到子组件

    小程序组件开发遇到一个组件内嵌两个组件,而这两个子组件所使用的数据来自于同一个API,如下图所示. 如果这时候两个子组件各自导入同一个接口就会显得多余.另外的办法是由父组件导入接口数据,再从父组件将接 ...

随机推荐

  1. debian修改crontab默认编辑器为vim

    debian终端下默认编辑器为nano,比如crontab -e就会打开nano,这个编辑器用起来很不习惯,想修改为vim,当然,你的debian系统必须先安装vim.如果已经安装vim,请输入如下命 ...

  2. Java编码和字符集(详解)

    [1]什么是编码? [2]通过生活案例: [3]由权威机构形成的编码表才可以称之为:字符集 ASCII 英文字符集 用一个字节的7位表示 IOS8859-1 西欧字符集 用一个字节的8位表示 GB23 ...

  3. Dockerfile中如何自动回答标准输入的问题

    前言大家在用docker build制作自己的image的時候,都会用RUN命令来执行一些操作来安装某些必须的软件. 而一些软件的安装过程中会需要用户来输入yes/no或者y/n来确定一些东西后才能进 ...

  4. 【老孟Flutter】自定义文本步进组件

    交流 老孟Flutter博客(330个控件用法+实战入门系列文章):http://laomengit.com 欢迎加入Flutter交流群(微信:laomengit).关注公众号[老孟Flutter] ...

  5. Vegas教程:教你制作热门人物消失特效

    在许多电影中,我们经常会看到一些人物逐渐消失的情景,这种情景一般都是通过后期技术处理的结果,现实生活中根本不可能出现,那么这种特效是如何制作处理的呢?下面小编就来教大家如何用Vegas    Pro ...

  6. Mac支持的网络游戏有哪些?怎么支持Windows游戏?

    "游戏是这个世界上唯一能和女性争夺男朋友的东西(/滑稽,有不少女生也喜欢玩游戏)."虽然只是一句玩笑话,不过也可以看出游戏对大多数男生来说是必不可少的一项娱乐活动了.而网络游戏是游 ...

  7. 学习django笔记一:在urls.py中导入sign应用views文件的问题

    >python-admin startproject guest     #创建guest项目 >python3 manage.py startapp sign  #在guest项目中创建 ...

  8. win10一行代码搭建本地html项目

    最近玩了下web项目,需要部署到本地查看效果. 一:准备 1.安装python或者安装node.js 2.html项目文件 二:python搭建 1.进入html文件的路径 2.通过python命令部 ...

  9. LIKE 运算符

    运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是"+".在vb2005中运算符大致可以分为5种类型:算术运算符.连接运算 ...

  10. 写给程序员的机器学习入门 (九) - 对象识别 RCNN 与 Fast-RCNN

    因为这几个月饭店生意恢复,加上研究 Faster-RCNN 用掉了很多时间,就没有更新博客了.这篇开始会介绍对象识别的模型与实现方法,首先会介绍最简单的 RCNN 与 Fast-RCNN 模型,下一篇 ...