首页 > 其他分享 >vxe-column 表头顺序:数据中改变后,但视图位置不更新

vxe-column 表头顺序:数据中改变后,但视图位置不更新

时间:2024-01-17 14:46:04浏览次数:27  
标签:vxe 视图 改变 表头 key 数据 更新

问题

在左树右表的页面中,左侧点击不同的节点,右侧表头会改变。但在某些情况下,数据中表头顺序改变了,但视图中表头位置却没变。如下图所示:

image
image

尝试

数据变了但视图未更新,猜测是vue更新机制导致的,于是把表头数组的赋值改为 $set,无效;

猜测是右侧表格组件复用导致数据未更新,(但其实 vue-dev-tool 中能看到 数据已经更新了),于是把表格组件加上 key 值,无效;

解决

怀疑是表头渲染的原因,查找资料发现,是因为 v-for 循环表头数组时,key 值设为了表头属性的字段,但切换左侧树节点后,表头属性的字段没变。因此,视图更新不生效。修改前后代码对比如下:

image

总结

vnode 视图更新机制:对比元素的 key 值,若有改变则更新,否则保留。

因此,以上的更新过程是:更新前,第一个表头的 key 值为 quancheng,在更新后的表头数组中寻找 key 值为 quancheng的元素,若能找到,则第一个表头的视图位置不更新,反之更新。

标签:vxe,视图,改变,表头,key,数据,更新
From: https://www.cnblogs.com/shayloyuki/p/17969976

相关文章

  • 基于rest_framework的ModelViewSet类编写登录视图和认证视图
    背景:看了博主一抹浅笑的rest_framework认证模板,发现登录视图函数是基于APIView类封装。优化:使用ModelViewSet类通过重写create方法编写登录函数。环境:既然接触到rest_framework的使用,相信已经搭建好相关环境了。1建立模型编写模型类#models.pyfromdjango.dbimportmodel......
  • sql server 判断是否存在数据库,表,列,视图
    1判断数据库是否存在ifexists(select*fromsys.databaseswherename='数据库名')    dropdatabase[数据库名]2判断表是否存在ifexists(select*fromsysobjectswhereid=object_id(N'[表名]')andOBJECTPROPERTY(id,N'IsUserTable')=1)    droptabl......
  • 无涯教程-SQL - Views(视图)
    视图只不过是存储在数据库中且具有关联名称的SQL语句,视图实际上是以预定义的SQL查询的形式组成的临时表。创建视图数据库视图是使用CREATEVIEW语句创建的,可以从单个表,多个表或另一个视图创建视图。基本的CREATEVIEW语法如下-CREATEVIEWview_nameASSELECTcolumn1,......
  • 【flink番外篇】9、Flink Table API 支持的操作示例(2)- 通过Table API 和 SQL 创建视图
    Flink系列文章一、Flink专栏Flink专栏系统介绍某一知识点,并辅以具体的示例进行说明。1、Flink部署系列本部分介绍Flink的部署、配置相关基础内容。2、Flink基础系列本部分介绍Flink的基础部分,比如术语、架构、编程模型、编程指南、基本的datastreamapi用法、四大基......
  • 表头拉伸和分栏拉伸方案
    1.纯css极简版resize:horizontal;缺点:只能在右下角很小的范围显示拉伸鼠标,且样式范围反斜线2.纯css美化版//隐藏掉反斜线.container::-webkit-resizer{background:transparent;}3.纯CSS复杂版纯CSS实现分栏宽度拉伸调整4.js实现表头拉伸,分栏同样有效f......
  • 在 PyCharm 中,"视图"通常指的是 IDE 的不同部分和面板,它们提供了不同的功能和信息¹。
    在PyCharm中,"视图"通常指的是IDE的不同部分和面板,它们提供了不同的功能和信息¹。以下是一些常见的PyCharm视图:1.**项目视图**:显示项目的文件和目录结构³。可以通过选择`View->ToolWindows->Project`来调出³。2.**运行视图**:显示程序运行的输出信息³。可以通过......
  • 【鱼授之以渔】如何创建和使用视图?
    鱼弦:内容合伙人、新星导师、全栈领域创作新星创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)视图(View)是数据库中的一个虚拟表,它由一个查询定义,并且视图的结果集是根据查询的结果动态生成的。视图可以被视为存......
  • Unity UGUI开发,0GC更新视图
    【USparkle专栏】如果你深怀绝技,爱“搞点研究”,乐于分享也博采众长,我们期待你的加入,让智慧的火花碰撞交织,让知识的传递生生不息!前段时间在优化Unity游戏项目,发现在战斗场景中,UI需要更新大量内容,比如血量、伤害、各种技能效果等等,由于战斗比较激烈,一直在高频更新UI视图,通过UWA深......
  • 视图集ModelViewSet drf之路由 认证组件
    视图集ModelViewSetModelViewSet-视图类:GenericAPIView(继承)-路由映射:listcreateretrieveupdatedestroy继承5个视图扩展类:CreateModelMixin,ListModelMixin,UpdateModelMixin,DestroyModelMixin,RetrieveModelMixin-路由写法改变:ViewSetMixin只要继承它,路由写法就......
  • drf之视图集类、5个视图扩展类、9个视图子类、视图集
    两个视图基类#APIView--->之前一直在用---》drf提供的最顶层的父类---》以后所有视图类,都继承自它#GenericAPIView--》继承自APIView--》封装继承APIView+序列化类+Response写接口APIView是RESTframework提供的所有视图的基类,继承自Django的View父类。APIView与View的不......