Пока работает код, средство проверки типов жалуется на то, как этот метод делегата назначается свойству ...
Свойство fontSize
ожидает тип number
. Однако это преобразование, и каким-то образом существует объект шрифта со свойством value
, который необходимо преобразовать в тип number
.
Сигнатура метода извлекает (destruct of object?) Свойство value
из массива объектов шрифта. Примером значения будет 97.
input: fontObj => {..., value}
const onload = () => {
const dv = new DataSet.View().source(data);
const range = dv.range('value');
const [min, max] = range;
dv.transform({
type: 'tag-cloud',
fields: ['name', 'value'],
imageMask: this.imageMask,
font: () => {return 'Verdana'},
size: [w, h], // The width and height settings are best based on imageMask Make adjustments
padding: 0,
timeInterval: 5000, // max execute time
rotate: 0,
/* rotate() {
return 0;
}, */
fontSize: (d: { value: number }) => { // <---- issue here!
console.log(d);
const size = ((d.value - min) / (max - min)) ** 2;
return size * (17.5 - 5) + 5;
},
});
Ошибка проверки типов:
Тип '(d: {value: number}) => число' нельзя назначить типу 'number'
Конечно, просто присвоение числового значения решает проблему с задержкой, но цель здесь преобразовать входящие значения размера шрифта в подходящий масштаб. Как это сделать и удовлетворить проверку типов?
Спасибо!
Печатать:
Расположение: node_modules> @antv> data-set> lib> transform> tag -cloud.d.ts
export interface Options {
fields?: [string, string];
font?(): string;
fontSize?: number;
rotate?: number;
padding?: number;
size?: [number, number];
spiral?: 'archimedean' | 'archimedean' | 'rectangular';
timeInterval?: number;
imageMask?: HTMLImageElement;
}