vue $forceUpdate()强制刷新
改变列表的值 一直不渲染
<van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="onLoad"
:offset="10"
:immediate-check="false"
>
<div class="comp" v-for="(item,index) in tabledata">
<div class="cell"><span>组件名称:</span>{{item.component}}</div>
<div class="cell"><span>实例名称:</span>{{item.instance_name}}</div>
<div class="cell"><span>实例IP:</span>{{item.ip}}</div>
<div class="cell"><span>实例端口:</span>{{item.port}}</div>
<div class="cell expand" v-if="arrowlist[index]===false" @click="changeArrow(index)">
<span>
<span style="float: left">...</span><van-icon name="arrow-down"/>
</span>
</div>
<div class="cell" v-if="arrowlist[index]"><span>远程启停:</span>
<van-tag type="success" v-if="item.is_container">开启</van-tag>
<van-tag type="danger" v-else>关闭</van-tag>
</div>
<div class="cell" v-if="arrowlist[index]"><span>启停脚本:</span>{{item.script}}</div>
<div class="cell" v-if="arrowlist[index]"><span>日志路径:</span>{{item.logpath}}</div>
<div class="cell expand" v-if="arrowlist[index]"
@click="changeArrow(index)">
<span v-if="arrowlist[index]"><van-icon name="arrow-up"/></span>
</div>
</div>
</van-list>
</van-pull-refresh>
changeArrow(index) {
this.arrowlist[index] = !this.arrowlist[index]
this.$forceUpdate()
},
onSearch() {
this.pageHelper.pageNo = 1
this.loading = true
this.tabledata = []
this.fetchData()
this.refreshing = false
},
fetchData() {
const space = this.pageHelper
space['search'] = this.search
Api.QueryData(space).then(response => {
const data = response.data
this.totalSize = response.recordsTotal
this.loading = false;
if (data.length < this.pageHelper.pageSize || data.length === 0) {
// 数据小于10条,已全部加载完毕finished设置为true
this.finished = true;
}
this.tabledata = this.tabledata.concat(data)
this.arrowlist = this.tabledata.map(() => false)
console.log(this.arrowlist.length)
})
},
后来 ,发现加上强刷就好了
this.$forceUpdate()
vue强制更新$forceUpdate()
添加this.$forceUpdate();进行强制渲染,效果实现。搜索资料得出结果:因为数据层次太多,render函数没有自动更新,需手动强制刷新。
调用强制更新方法this.$forceUpdate()会更新视图和数据,触发updated生命周期。
vue $forceUpdate()强制刷新的更多相关文章
- VUE项目中使用this.$forceUpdate()强制页面重新渲染
在使用Vue框架开发时,在函数中改变了页面中的某个值,在函数中查看是修改成功了,但在页面中没有及时刷新改变后的值,我是在使用多层v-for嵌套时出现这种问题的, 解决方法:运用 this.$force ...
- vue2强制刷新,解决页面不会重新渲染的问题
问题描述: 在使用Vue框架开发时,在函数中改变了页面中的某个值,在函数中查看是修改成功了,但在页面中没有及时刷新改变后的值: 解决: 运用 this.$forceUpdate(); //强制刷新, ...
- vue 强制刷新数据 this.$forceUpdate()
vue项目中,修改了数据可能已经渲染的地方不会发生变化,所以加上 this.$forceUpdate()可以强制刷新数据
- Vue-input框checkbox强制刷新
在引用input框的checkbox属性时,选中后会出现数据已经刷新,checkbox选中状态不会改变.这时在事件触发后可以调用this.$forceUpdate(),强制刷新页面解决这个问题. in ...
- angularjs中关于当前路由再次点击强制刷新
angularjs中,有一个机制,就是当前路由再次点击的时候,不会再刷新页面,这实在是愁坏了包子,因为业务人员要求一定要刷新,于是我各种百度,然并卵....呜呜呜~~~~~ 于是乎,我就想到写指令了, ...
- Unity3D UGUI强制刷新Layout(布局)组件
UGUI的Layout布局组件确实节省了我们很多代码 如果不使用Layout组件 那么光在计算UI的布局上就要花费很大的功夫 特别是动态生成其组件的时候 当然,Layout组件在大多数时候是非常好用的 ...
- mac chrome 强制刷新浏览器缓存
普通刷新 command + r 强制刷新 command + shift + r
- chrome强制刷新,非ctrl+f5
开发时,经常有ctrl+f5无法做到真正的强制刷新,以下可以帮到你 Ctrl+Shift+Del 清除Google浏览器缓存的快捷键 Ctrl+Shift+R 重新加载当前网页而不使用缓存内容
- vue中强制刷新的bug处理
vue是单页面应用,跳转路由也是局部刷新,这里就拿后台管理系统而言,如果你的后台管理系统是左右布局,你不会遇到这样的问题,但是如果你的后台管理系统是上左右布局,你就会遇到这个问题,一级菜单在最上面,二 ...
- python自学——文件处理(强制刷新)
# 文件的刷新flash# 为什么要刷新文件呢?# 首先我们就要知道电脑是怎么储存信息的,# 写的代码保存在缓存中当缓存满了之后就会将内容储存到硬盘中. # 那这个跟刷新有什么关系呢?# 系统也会自动 ...
随机推荐
- 怎样在局域网中给网站作ssl认证,使其能以https协议访问(转)
如果要在局域网达到效果需要满足以下几点要求: 1. 证书由可信任的CA机构颁发 2. 证书在有效期 3. 访问地址和证书的认证地址一致 说明: 1. 需要在局域网内构建CA机构 2. 证书的有效期建议 ...
- 使用 Quickwit 的搜索流功能为 ClickHouse 添加全文搜索
本指南将帮助您使用 Quickwit 的搜索流功能为知名的 OLAP 数据库 ClickHouse 添加全文搜索.Quickwit 暴露了一个 REST 端点,可以极快地(每秒最多 5000 万条)流 ...
- java-GUI编程之布局类型介绍
java使用AWT和Swing相关的类可以完成图形化界面编程,其中AWT的全称是抽象窗口工具集(Abstract Window Toolkit),它是sun公司最早提供的GUI库,这个GUI库提供了一 ...
- sicp每日一题[1.44]
Exercise 1.44 The idea of smoothing a function is an important concept in signal processing. If f is ...
- 入门指南 | Datavines 安装部署篇
摘要:本文主要介绍基于源码部署 Datavines 和执行检查作业,内容主要分为以下几个部分: 平台介绍 快速部署 运行数据质量检查作业 Datavines 的目标是成为更好的数据可观测性领域的开源项 ...
- ES6之常用开发知识点:let 和 const 命令详解(二)
let命令 基本用法 { let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1 根据上面结果显示,let声明的变 ...
- MonoDevelop 的续集dotdevelop
DotDevelop 是一个跨平台的 .NET 集成开发环境(IDE),它原本是 MonoDevelop 的分支项目,这个项目更侧重于 Linux 支持和 GTK3 升级,github:https:/ ...
- Python — 循环语句
while循环语句 语法: 嵌套使用: for循环语句:(for循环外部不允许访问临时变量) 语法: 使用: 待处理的数据集: range语句: 嵌套for循环: continue: break: 随 ...
- 《Vue.js 设计与实现》读书笔记 - 第9章、简单 Diff 算法
第9章.简单 Diff 算法 9.1 减少 DOM 操作的性能开销 在之前的章节,如果新旧子节点的类型都是数组,我们会先卸载所有旧节点,再挂载所有新的子节点.但是如果存在相同类型的节点,我们完全可以复 ...
- 墨天轮访谈 | IvorySQL王志斌—IvorySQL,一个基于PostgreSQL的兼容Oracle的开源数据库
分享嘉宾:王志斌 瀚高IvorySQL产品经理 整理:墨天轮社区 导读 大家好,我是瀚高IvorySQL产品经理王志斌,IvorySQL是基于PostgreSQL的衍生开源项目. 我今天分享的内容主要 ...