From 6d8cd7cefc2ecca153ad476b585c950487cacdc2 Mon Sep 17 00:00:00 2001 From: coderzlh Date: Tue, 26 Sep 2023 19:49:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20idea95=20=E5=8F=8C=E5=87=BB=E6=80=AA?= =?UTF-8?q?=E7=89=A9=E6=89=8B=E5=86=8C=E6=8B=90=E7=82=B9=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E5=9C=A8=E6=8B=96=E5=8A=A8=E6=9D=A1=E4=B8=8A?= =?UTF-8?q?=E5=AE=9A=E4=BD=8D=20=E5=8D=95=E5=87=BB=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/panel/enemyCritical.vue | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/panel/enemyCritical.vue b/src/panel/enemyCritical.vue index 8a03d91..5ecff35 100644 --- a/src/panel/enemyCritical.vue +++ b/src/panel/enemyCritical.vue @@ -140,7 +140,11 @@ const nowDamage = computed(() => { return [originDamage - dam, dam]; }); -function generateChart(ele: HTMLCanvasElement, data: [number, number][]) { +function generateChart( + ele: HTMLCanvasElement, + data: [number, number][], + ref?: Ref +) { Chart.defaults.color = '#aaa'; const config: ChartConfiguration = { type: 'line', @@ -169,6 +173,15 @@ function generateChart(ele: HTMLCanvasElement, data: [number, number][]) { } } }; + if (ref) { + config.options!.onClick = (e, elements) => { + if (elements.length > 0) { + const index = elements[0].index; + // @ts-ignore + ref.value = e.chart.data.labels[index]; + } + }; + } return new Chart(ele, config); } @@ -220,8 +233,8 @@ onMounted(() => { setCanvasSize(c, width, height); setCanvasSize(d, width, height); - const criChart = generateChart(c, allCri.value); - const defChart = generateChart(d, allDef.value); + const criChart = generateChart(c, allCri.value, addAtk); + const defChart = generateChart(d, allDef.value, addDef); watch(addAtk, n => { update(criChart, defChart);