遇到的难题汇总

一、在布局中动态设置左侧导航的高度

布局里可能有很多层级的子组件,在子组件没有完全加载之前,没法知道容器的高度,因此很难正确设置左侧导航的高度。
另外,在交互过程中,容器的高度也会改变,还有当浏览器宽高改变或者屏幕分辨率改变时,这些情况下也需要动态设置左侧导航的高度。
有没有办法在布局里知道是否所有的子组件均已加载完毕?或者有没有办法知道容器的高度是否改变?

一种思路是:不在布局里设置左侧导航高度,在最后一个子组件的componentDidUpdate事件中设置,这样的问题是每个页面都需要找到最后一个子组件并且设置高度。

解决方法:在window的resize事件里监控innerHeight(document.documentElement.clientHeight),并根据innerHeight来动态设置左侧导航的高度。

二、ECharts中横坐标出现重影现象(文本加粗)

正常的文本:

重影的文本:

很奇怪的是:这个问题在有些电脑会出现,有些电脑不会。

------------------------------------ 2019.1.16 Update ------------------------------------
解决方法:
初始化ECharts时将像素比的参数 devicePixelRatio 设置成2倍(默认是 1),注意要在 init 方法的第三个参数中设置,第二个参数是设置主题的,置为 null 即可。

ECharts.init(el); -> ECharts.init(el, null, {devicePixelRatio: 2});

顺便贴下 init 方法的源码:

/**
 * @param {HTMLElement} dom
 * @param {Object} [theme]
 * @param {Object} opts
 * @param {number} [opts.devicePixelRatio] Use window.devicePixelRatio by default
 * @param {string} [opts.renderer] Currently only 'canvas' is supported.
 * @param {number} [opts.width] Use clientWidth of the input `dom` by default.
 *                              Can be 'auto' (the same as null/undefined)
 * @param {number} [opts.height] Use clientHeight of the input `dom` by default.
 *                               Can be 'auto' (the same as null/undefined)
 */
export function init(dom, theme, opts) {
    var existInstance = getInstanceByDom(dom);
    if (existInstance) {
        return existInstance;
    }

    var chart = new ECharts(dom, theme, opts);
    chart.id = 'ec_' + idBase++;
    instances[chart.id] = chart;

    if (dom.setAttribute) {
        dom.setAttribute(DOM_ATTRIBUTE_KEY, chart.id);
    }
    else {
        dom[DOM_ATTRIBUTE_KEY] = chart.id;
    }

    enableConnect(chart);

    return chart;
}
posted @   Kagol  阅读(268)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示