feat: test result

This commit is contained in:
2025-09-30 09:52:28 +08:00
parent 288b845270
commit 9fef267cf6
7 changed files with 386 additions and 16 deletions

View File

@@ -1,8 +1,8 @@
import Taro, { useReady } from "@tarojs/taro";
import { View, Canvas, Button } from "@tarojs/components";
import { useEffect, useRef } from "react";
import { useEffect, useRef, forwardRef, useImperativeHandle } from "react";
const RadarChart: React.FC = (props) => {
const RadarChart: React.FC = forwardRef((props, ref) => {
const { data } = props
const renderFnRef = useRef()
@@ -118,6 +118,23 @@ const RadarChart: React.FC = (props) => {
});
}
useImperativeHandle(ref, () => ({
generateImage: () => new Promise((resolve, reject) => {
const query = Taro.createSelectorQuery()
query.select("#radarCanvas")
.fields({ node: true, size: true })
.exec((res) => {
const canvas = res[0].node
// ⚠️ 关键:传 canvas而不是 canvasId
Taro.canvasToTempFilePath({
canvas,
success: (res) => resolve(res.tempFilePath),
fail: (err) => reject(err),
})
})
})
}))
// 保存为图片
const saveImage = () => {
@@ -142,6 +159,6 @@ const RadarChart: React.FC = (props) => {
{/* <Button onClick={saveImage}>保存为图片</Button> */}
</View>
);
};
});
export default RadarChart;