uniapp-x·view标签 绘制画线条

<view class="content" id="canvas" @touchstart="changeStart" @touchmove="changeMove" @touchend="changeEnd"></view>
let listTouche = ref<any>([]); const changeStart = (res : any) => { const touch = res.changedTouches[0]; // CTX.reset();//重置 CTX.beginPath(); CTX.moveTo(touch.screenX, touch.screenY+ scrollTop); // 设置虚线样式 CTX.setLineDash([5, 3]); // 5px实线,3px空白 CTX.lineWidth = 2; // 线宽 CTX.strokeStyle = "black"; // 线条颜色 listTouche.value[listTouche.value.length - 1].push({ x: touch.clientX, y: touch.clientY }); }; const changeMove = (res : any) => { const touch = res.changedTouches[0]; CTX.lineTo(touch.screenX, touch.screenY+ scrollTop); CTX.stroke(); // 实时绘制 CTX.update(); // 实时更新 listTouche.value[listTouche.value.length - 1].push({ x: touch.clientX, y: touch.clientY }); }; const changeEnd = () => { listTouche.value.push([]); }; let scrollTop = 0; //使用标签<scroll-view @scroll="changeScroll" 则必须使用scroll辅助坐标 const changeScroll = (res : any) => { scrollTop = res.detail.scrollTop - 50; }