antvis / my-f2

F2 的支付宝小程序版本
MIT License
146 stars 23 forks source link

钉钉小程序中tooltip真机上折叠了 #45

Closed kaivin closed 4 years ago

kaivin commented 4 years ago

钉钉小程序中tooltip真机上折叠了 bug图 tooltip的name、title、value都不再占用实际空间,只有marker可以实际撑开tooltip条的空间,今天刚出现的问题,2020年4月16日,在昨天还是正常的,我同样用真机预览了系统的样例,也是同样的问题

pandashuai commented 4 years ago

是V2引擎引起的吧

kaivin commented 4 years ago

是V2引擎引起的吧

什么意思,刚用这玩意,版本吗?我切换版本还是同样的问题,有什么办法解决没?

pandashuai commented 4 years ago

如果V2引擎导致的话,在node_modules/@antv/my-f2/es/index.js文件下加入这个

function strLen(str) {

let len = 0;

for (let i = 0; i < str.length; i++) {

if (str.charCodeAt(i) > 0 && str.charCodeAt(i) < 128) {

len++;

} else {

len += 2;

}

}

return len;

}

F2.Util.measureText = function (text, font) {

let fontSize = 12;

if (font) {

fontSize = parseInt(font.split(' ')[3], 10);

}

fontSize /= 2;

return {

width: strLen(text) * fontSize,

};

};

zengyue commented 4 years ago

https://github.com/antvis/f2-context/blob/master/src/context/my.ts#L52

嗯,可以在context上覆盖这个方法

hbj123 commented 4 years ago
  • Link:
  • Platform:
  • Mini Showcase(like screenshots):

钉钉小程序中tooltip真机上折叠了 bug图 tooltip的name、title、value都不再占用实际空间,只有marker可以实际撑开tooltip条的空间,今天刚出现的问题,2020年4月16日,在昨天还是正常的,我同样用真机预览了系统的样例,也是同样的问题

这位兄弟不知道你有解决了吗? 我也遇到相同的问题

hbj123 commented 4 years ago

按照二楼和三楼的说法 尝试过了 还是不行哟. 这个开源库怎么会这样呀 令人胆战心惊哟

pandashuai commented 4 years ago

不能啊,我的都可以了,截个图和代码实现?

hbj123 commented 4 years ago

不能啊,我的都可以了,截个图和代码实现? (需要在真机上测试呀) [ WechatIMG15 WechatIMG16 WechatIMG17 WechatIMG18 WechatIMG19

](url)

hbj123 commented 4 years ago

不能啊,我的都可以了,截个图和代码实现?

index.zip

pandashuai commented 4 years ago

你并没有按我的来啊,我是在node_modules/@antv/my-f2/es/index.js文件下加入这个

function strLen(str) {

let len = 0;

for (let i = 0; i < str.length; i++) {

if (str.charCodeAt(i) > 0 && str.charCodeAt(i) < 128) {

len++;

} else {

len += 2;

}

}

return len;

}

F2.Util.measureText = function (text, font) {

let fontSize = 12;

if (font) {

fontSize = parseInt(font.split(' ')[3], 10);

}

fontSize /= 2;

return {

width: strLen(text) * fontSize,

};

};

整个文件的

import F2 from '@antv/f2';
import { my as my$1 } from '@antv/f2-context';
function strLen(str) {
  let len = 0;
  for (let i = 0; i < str.length; i++) {
    if (str.charCodeAt(i) > 0 && str.charCodeAt(i) < 128) {
      len++;
    } else {
      len += 2;
    }
  }
  return len;
}

F2.Util.measureText = function (text, font) {
  let fontSize = 12;
  if (font) {
    fontSize = parseInt(font.split(' ')[3], 10);
  }
  fontSize /= 2;
  return {
    width: strLen(text) * fontSize,
  };
};
Component({
  // mixins: [],
  // data: {},
  props: {
    onInit: () => { }
  },
  didMount() {
    const id = `f2-canvas-${this.$id}`;
    const myCtx = my.createCanvasContext(id);
    const context = my$1(myCtx);

    const query = my.createSelectorQuery();
    query
      .select(`#${id}`)
      .boundingClientRect()
      .exec(res => {
        // 获取画布实际宽高
        const { width, height } = res[0];
        const pixelRatio = my.getSystemInfoSync().pixelRatio;
        // 高清解决方案
        this.setData({
          id,
          width: width * pixelRatio,
          height: height * pixelRatio
        }, () => {
          this.chart = this.props.onInit(F2, { context, width, height, pixelRatio });
        });

      });

  },
  // didUpdate() {},
  // didUnmount() {},
  methods: {
    touchStart(e) {
      if (this.chart) {
        // console.log(1, e)
        this.chart.get('el').dispatchEvent('touchstart', e);
      }
    },
    touchMove(e) {
      if (this.chart) {
        //  console.log(2, e)
        this.chart.get('el').dispatchEvent('touchmove', e);
      }
    },
    touchEnd(e) {
      if (this.chart) {
        //  console.log(3, e)
        this.chart.get('el').dispatchEvent('touchend', e);
      }
    }
  }
});

然后,点击-工具-编译一次

pandashuai commented 4 years ago

不能啊,我的都可以了,截个图和代码实现?

index.zip

image

hbj123 commented 4 years ago

不能啊,我的都可以了,截个图和代码实现?

index.zip

image

方便把这个demo发给我吗 谢谢了. 我这边是做iOS开发的 不是太了解 😓. 我都是找的demo来比葫芦画瓢的

pandashuai commented 4 years ago

不能啊,我的都可以了,截个图和代码实现?

index.zip

image

方便把这个demo发给我吗 谢谢了. 我这边是做iOS开发的 不是太了解 😓. 我都是找的demo来比葫芦画瓢的

不是你发的吗,我并没有动过index.zip

hbj123 commented 4 years ago

不能啊,我的都可以了,截个图和代码实现?

index.zip

image

方便把这个demo发给我吗 谢谢了. 我这边是做iOS开发的 不是太了解 😓. 我都是找的demo来比葫芦画瓢的

不是你发的吗,我并没有动过index.zip

谢谢您大佬,新版本已经解决了. 要是老版本怎么弄呢? "dependencies": { "@antv/f2": "^3.4.4", "@antv/my-f2": "^1.1.6", "lodash": "^4.17.15", "mini-antui": "^0.4.31" },

hbj123 commented 4 years ago

不能啊,我的都可以了,截个图和代码实现?

这个是我低版本的 项目中用的图表比较多 我还是想用老版本的来改 您有好的方式兼容吗? 老版本的也是这个问题 我照着你的改了 不起作用

WechatIMG20 WechatIMG21 WechatIMG22 WechatIMG23 WechatIMG24 WechatIMG25

pandashuai commented 4 years ago

不能啊,我的都可以了,截个图和代码实现?

这个是我低版本的 项目中用的图表比较多 我还是想用老版本的来改 您有好的方式兼容吗? 老版本的也是这个问题 我照着你的改了 不起作用

WechatIMG20 WechatIMG21 WechatIMG22 WechatIMG23 WechatIMG24 WechatIMG25

没用过这个版本,我也不清楚,爱莫能助

hbj123 commented 4 years ago

=

没用过这个版本,我也不清楚,爱莫能助

还是很感谢你, 我这两天把版本升级一下 用新版本的 哈哈.