Closed kaivin closed 4 years ago
是V2引擎引起的吧
是V2引擎引起的吧
什么意思,刚用这玩意,版本吗?我切换版本还是同样的问题,有什么办法解决没?
如果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,
};
};
https://github.com/antvis/f2-context/blob/master/src/context/my.ts#L52
嗯,可以在context上覆盖这个方法
- Link:
- Platform:
- Mini Showcase(like screenshots):
钉钉小程序中tooltip真机上折叠了 tooltip的name、title、value都不再占用实际空间,只有marker可以实际撑开tooltip条的空间,今天刚出现的问题,2020年4月16日,在昨天还是正常的,我同样用真机预览了系统的样例,也是同样的问题
这位兄弟不知道你有解决了吗? 我也遇到相同的问题
按照二楼和三楼的说法 尝试过了 还是不行哟. 这个开源库怎么会这样呀 令人胆战心惊哟
不能啊,我的都可以了,截个图和代码实现?
不能啊,我的都可以了,截个图和代码实现? (需要在真机上测试呀) [
](url)
你并没有按我的来啊,我是在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);
}
}
}
});
然后,点击-工具-编译一次
不能啊,我的都可以了,截个图和代码实现?
不能啊,我的都可以了,截个图和代码实现?
方便把这个demo发给我吗 谢谢了. 我这边是做iOS开发的 不是太了解 😓. 我都是找的demo来比葫芦画瓢的
不能啊,我的都可以了,截个图和代码实现?
方便把这个demo发给我吗 谢谢了. 我这边是做iOS开发的 不是太了解 😓. 我都是找的demo来比葫芦画瓢的
不是你发的吗,我并没有动过index.zip
不能啊,我的都可以了,截个图和代码实现?
方便把这个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" },
不能啊,我的都可以了,截个图和代码实现?
这个是我低版本的 项目中用的图表比较多 我还是想用老版本的来改 您有好的方式兼容吗? 老版本的也是这个问题 我照着你的改了 不起作用
不能啊,我的都可以了,截个图和代码实现?
这个是我低版本的 项目中用的图表比较多 我还是想用老版本的来改 您有好的方式兼容吗? 老版本的也是这个问题 我照着你的改了 不起作用
没用过这个版本,我也不清楚,爱莫能助
=
没用过这个版本,我也不清楚,爱莫能助
还是很感谢你, 我这两天把版本升级一下 用新版本的 哈哈.
钉钉小程序中tooltip真机上折叠了 tooltip的name、title、value都不再占用实际空间,只有marker可以实际撑开tooltip条的空间,今天刚出现的问题,2020年4月16日,在昨天还是正常的,我同样用真机预览了系统的样例,也是同样的问题