bigScreen大屏配置选项无法和画布中心的展示联动解决

目录
  • 问题1. 大屏的配置选项无法和画布中心的展示联动
    • 解决过程:
    • 代码学习:
    • 代码优化:

问题1. 大屏的配置选项无法和画布中心的展示联动

解决过程:

大概找了2天时间,各种排查数据绑定的问题?文件传参的问题?找的过程中差点没把自己气死

最后发现是数据改变之后,没有把改变的值更新到右侧的属性配置区。

画布中心首次加载的时候,从config中读取选项值,并且触发右侧的设置。

下一次,通过右侧更改属性值的时候,将值传给dashboard,①子组件监听dashboard的变化,实时更新;② dashboard也要赋值给配置项widgetOption,以便右侧可以保持一致。

代码学习:

// 源代码:
            widgetValueChanged(key, val) {
                // 更新大屏属性
                if (this.screenCode === 'screen') {
                    let newSetup = [];
                    this.dashboard = common.deepClone(val)
                    this.widgetOptions.setup.forEach(el => {
                        if (el.name === 'width') {
                            el.value = this.dashboard.width
                        } else if (el.name === 'height') {
                            el.value = this.dashboard.height
                        } else if (el.name === 'title') {
                            el.value = this.dashboard.title
                        } else if (el.name === 'backgroundColor') {
                            el.value = this.dashboard.backgroundColor
                        } else if (el.name === 'description') {
                            el.value = this.dashboard.description
                        } else if (el.name === 'backgroundImage') {
                            el.value = this.dashboard.backgroundImage
                        }
                        newSetup.push(el);
                    });
                    this.widgetOptions.setup = newSetup;
                } else {
                    // 更新组件属性
                    for (let i = 0; i < this.widgets.length; i++) {
                        if (this.widgetIndex === i) {
                            this.widgets[i].value[key] = common.deepClone(val);
                            setDefaultValue(this.widgets[i].options[key], val);
                        }
                    }
                }
            },

代码优化:

想将一个对象中的属性依次更新给数组对象中的属性

widgetValueChanged(key, val) {
    // 更新大屏属性
    if (this.screenCode === 'screen') {
        let newSetup = [];
        this.dashboard = common.deepClone(val)
        this.widgetOptions.setup.forEach(el => {
            if (this.dashboard.hasOwnProperty(el.name)) {
                el.value = this.dashboard[el.name]
            }
            newSetup.push(el)
        })
        this.widgetOptions.setup = newSetup;
    } else {
        // 更新组件属性
        for (let i = 0; i < this.widgets.length; i++) {
            if (this.widgetIndex === i) {
                this.widgets[i].value[key] = common.deepClone(val);
                setDefaultValue(this.widgets[i].options[key], val);
            }
        }
    }
},

以上就是bigScreen大屏配置选项无法和画布中心的展示联动解决的详细内容,更多关于bigScreen大屏配置画布联动的资料请关注我们其它相关文章!

(0)

相关推荐

  • JavaScript实现echarts水球图百分比展示大屏可视化

    目录 前言: 示例: 简介: 代码实现 项目文件中引入 声明实例,设置参数,绘制水球图 设置缩放 总结: 前言: 掘友们,大家晚上好啊.今天突然的看到之前的同学,在宿舍群里询问关于echarts水球图的问题,刚好,小编在之前做大屏可视化的时候,关于电脑磁盘空间的存储量做了水球图的展示,我就简单的给他分享了制作过程. 示例: 水球图的应用场景很广泛,一般最多的就是应用于容量大小的展示,使用空间的多少.这里先编以自己的项目为例,向大家展示. 简介: echarts已经升级到了V5版本,但是我们从官方

  • echart实现大屏动效示例详解

    目录 1.通过dataZoom实现柱状图动态前移效果 2.叠加流光效果 3.柱状图光亮轮播 1.通过dataZoom实现柱状图动态前移效果 最近做大屏相关需求,产品说需要炫酷一点的效果,于是做了一些echart相关的动效 设置dataZoom当前缩放值,加定时器,实现轮播效果. 示例: option = { color: ['#1E90FF', '#FFA500'], tooltip: { trigger: 'axis', axisPointer: {} }, grid: { left: 20,

  • React大屏可视化脚手架教程示例

    目录 使用 create-react-app 初始化 引入 antd UI库 使用 craco 插件来自定义配置 自定义 antd 主题,使用 less 作为 css 预处理器 修改 craco.config.js 文件 craco-less .module.less 模拟vue组件中style的scope 功能 配置 craco.config.js 文件 以上操作版本记录 使用 create-react-app 初始化 # 使用了 create-react-app 的 typescript 模

  • python可视化大屏库big_screen示例详解

    目录 big_screen 特点 安装环境 输入数据 本地运行 在线部署 对于从事数据领域的小伙伴来说,当需要阐述自己观点.展示项目成果时,我们需要在最短时间内让别人知道你的想法.我相信单调乏味的语言很难让别人快速理解.最直接有效的方式就是将数据如上图所示这样,进行可视化展现. 具体如下: big_screen 特点 便利性工具, 结构简单, 你只需传数据就可以实现数据大屏展示. 安装环境 pip install -i https://pypi.tuna.tsinghua.edu.cn/simp

  • Vue指令实现大屏元素分辨率适配详解

    目录 前言 1. 常见的适配方案 2. CSS3 缩放方案 3. 封装一个缩放指令 4. 后记 前言 随着前端技术的不断发展.数据中心(中台)之类的概念的不断升级.物联网设备的更新和普及,越来越多的业主(项目)喜欢在系统中添加一个或者多个可视化大屏,用来集中的展现数据变化.位置变化等等,老板们也更喜欢称之为“态势”. 当然,作为程序员一般都不关心“老板们”的想法,只要完成项目即可.但是经常会有这样的问题:我有一个大屏的模板,但是用户的浏览器分辨率不够,或者有的有书签栏有的没有书签栏,更或者是有的

  • Vue联动Echarts实现数据大屏展示

    目录 1.安装echarts.js 2.新建vue界面 3.引入 ECharts 4.创建Vue方法和图表信息 5.效果样式 6.通过官网查找自己喜欢的样式 7.组件重复使用 1.组件重复使用定义 2.当前页面数据传递子组件中 1.安装echarts.js npm install echarts --save 2.新建vue界面 <template> <!-- 定义echarts需要控制的dom元素 --> <div :style="{height:height,w

  • bigScreen大屏配置选项无法和画布中心的展示联动解决

    目录 问题1. 大屏的配置选项无法和画布中心的展示联动 解决过程: 代码学习: 代码优化: 问题1. 大屏的配置选项无法和画布中心的展示联动 解决过程: 大概找了2天时间,各种排查数据绑定的问题?文件传参的问题?找的过程中差点没把自己气死 最后发现是数据改变之后,没有把改变的值更新到右侧的属性配置区. 画布中心首次加载的时候,从config中读取选项值,并且触发右侧的设置. 下一次,通过右侧更改属性值的时候,将值传给dashboard,①子组件监听dashboard的变化,实时更新:② dash

  • 基于Python Dash库制作酷炫的可视化大屏

    目录 介绍 数据 大屏搭建 介绍 大家好,我是小F- 在数据时代,我们每个人既是数据的生产者,也是数据的使用者,然而初次获取和存储的原始数据杂乱无章.信息冗余.价值较低. 要想数据达到生动有趣.让人一目了然.豁然开朗的效果,就需要借助数据可视化. 以前给大家介绍过使用Streamlit库制作大屏,今天给大家带来一个新方法. 通过Python的Dash库,来制作一个酷炫的可视化大屏! 先来看一下整体效果,好像还不错哦. 主要使用Python的Dash库.Plotly库.Requests库. 其中R

  • SQL Server安装完成后3个需要立即修改的配置选项

    你用安装向导安装了全新的SQL Server,最后你点击了完成按钮.哇噢~~~现在我们可以把我们的服务器进入生产了!抱歉,那并不是真的,因为你的全新SQL Server默认配置是错误的. 是的,你没看错:SQL Server的默认安装在很多方面的配置是错误的.在今天的文章里,我想给你展示下,为了更快的性能,在SQL Server安装完成后3个你需要立即修改的配置选项.我们开始吧! 最大服务器内存(Max Server Memory) 免责声明:如果这些天你在32位系统上运行你的SQL Serve

  • 阿里巴巴 Sentinel + InfluxDB + Chronograf 实现监控大屏

    前言 在上一篇推文中,我们使用时序数据库 InfluxDb 做了流控数据存储,但是数据存储不是目的,分析监控预警才是最终目标,那么问题来了,如何更好的实现呢?用过阿里巴巴 Sentinel 控制台的小伙伴,是不是觉得它的控制台丑爆了,而且只有短短的五厘米,显然不能满足大部分人或者场景的使用. 架构 工具 sentinel-dashboard(控制台,收集数据) Influxdb(时序数据库,存储数据) Chronograf (展示控制台,显示数据并实现预警) 安装 Sentinel 控制台 和

  • vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能

    随着前端技术的飞速发展,大数据时代的来临,我们在开发项目时越来越多的客户会要求我们做一个数据展示的大屏,可以直观的展示用户想要的数据,同时炫酷的界面也会深受客户的喜欢. 大屏展示其实就是一堆的图表能够让人一目了然地看到该系统下的一些基本数据信息的汇总,也会有一些实时数据刷新,信息预警之类的.笔者在之前也做过一些大屏类的数据展示,但是由于都是一些图表类的,觉得没什么可说的,加之数据也都牵扯到公司,所以没有沉淀下来什么. 最近有朋友要做一个大屏,问了自己一个问题,自己也刚好做了一个简单的大屏数据展示

  • 基于vue+echarts数据可视化大屏展示的实现

    获取 ECharts 的路径有以下几种,请根据您的情况进行选择: 1) 最直接的方法是在 ECharts 的官方网站中挑选适合您的版本进行下载,不同的打包下载应用于不同的开发者功能与体积的需求,或者您也可以直接下载完整版本:开发环境建议下载源代码版本,包含了常见的错误提示和警告. 2) 也可以在 ECharts 的 GitHub 上下载最新的 release 版本,解压出来的文件夹里的 dist 目录里可以找到最新版本的 echarts 库. 3) 或者通过 npm 获取 echarts,npm

  • 推荐四款可视化工具(解决99%的可视化大屏需求)

    小编最经常的工作是将一些项目的数据从数据库导出,然后分门别类的列到excel表格中,领导看起来眼花缭乱. 小编想,要是能以图表可视化展现出来,领导就可以看到项目近几个月的走势,也知道之后要怎么决策了.小编尝试了使用excel制作图表,由于操作复杂,小编放弃了,于是小编在网上找到了以下四种可视化工具,现在我们来看一下: 1. 阿里云DataV 使用手机号或邮箱注册账号,会获得7天的体验期.阿里云DataV有强大的组件库,可以制作不同的样式,还可以链接数据库或API接口,炫酷的可视化大屏可以轻松完成

  • Python机器学习之使用Pyecharts制作可视化大屏

    目录 前言 Pyecharts可视化 Map世界地图 柱状图.饼图 Pyecharts组合图表 总结 前言 ECharts是由百度开源的基于JS的商业级数据图表库,有很多现成的图表类型和实例,而Pyecharts则是为了方便我们使用Python实现ECharts的绘图.使用Pyecharts制作可视化大屏,可以分为两步: 1.使用分别Pyecharts分别制作各类图形: 2.使用Pyecharts中的组合图表功能,将所有图片拼接在一张html文件中进行展示. 小五认为影响大屏美观最重要的两个因素

  • vue+px2rem实现pc端大屏自适应的实例代码(rem适配)

    配置前言 项目构建:基于vue-cli3构建,使用postcss-px2rem px2rem-loader进行rem适配 实现原理:每次打包,webpack通过使用插件postcss-px2rem,帮我们自动将px单位转换成rem单位 px2rem是一个插件,功能是将px自动转换为rem,帮助开发者减少像素间的相互转换计算过程. 前方有坑:UI框架部分组件使用JavaScript将css作为内联样式直接写在html标签内,打包适配时不会读取相关css,所以要配置相关样式,在style中需要" !

  • Nginx各个模块的配置及常用配置选项

    目录 Nginx Location配置 请求转发和重定向 Nginx静态文件配置 文件下载服务器 Nginx配置HTTPS Nginx日志配置 Nginx超时设置 请求超时设置 Proxy反向代理超时设置 Nginx负载均衡 轮询(默认) 权重(weight) ip_hash url_hash fair(第三方) Nginx与uWSGI服务器的沟通 小结 接下来,我们仔细分析下Nginx各个模块的配置选项.注意:http块也可以进一步分成3块,http全局块里的配置对所有站点生效,server块

随机推荐