钉钉可以文件签名吗,钉钉文件里怎么手写签名

首页 > 经验 > 作者:YD1662024-03-01 02:28:57

签名-3.gif

横屏

竖屏时签字区域相对较小,只要将其切到横屏那么体验将会好非常多了。查阅钉钉文档,发现并没有提供小程序切换横竖屏的api,那么只能我们自己做一个横屏效果了。我们可以通过rotate和translate样式,将签名版横置,再对其调整宽高。

// SignaturePad.jsx const [full, setFull] = useState(false); const toggleSize = () => { setFull(!full); }; return ( <View className="signature-pad-wrap"> <View className={`signature-pad ${full ? 'full-screen' : ''}`}> {/* canvas */} ... </View> </View> ) // SignaturePad.less .signature-pad { box-sizing: border-box; width: 100%; padding: 32px 32px 30px; transform-origin: top left; transition: transform 0.3s; .canvas { width: 686px; height: 360px; background: #fff; } &.full-screen { width: 100vh; height: 100vw; transform: rotate(90deg) translate(0, -756px); .canvas { width: 1386px; height: 630px; } } }

钉钉可以文件签名吗,钉钉文件里怎么手写签名(9)

签名-4.gif

然后,我们就可以看到如图效果,签名版是横置了,但是这个签名功能明显不对了。通过打印onTouchMove的event,我们发现x,y依然是(0, 0),因为屏幕的xy轴不会变,但是我们旋转了整个签名版,所以展示出的canvas的xy轴是跟随着变形了,导致了上图情况。

钉钉可以文件签名吗,钉钉文件里怎么手写签名(10)

钉钉可以文件签名吗,钉钉文件里怎么手写签名(11)

既然canvas旋转会导致xy轴变化,那么我们可以换个角度,只改变canvas的宽高,将标题按钮区域进行transform是不是就可以了

// SignaturePad.jsx <View className={`signature-pad ${full ? 'full-screen' : ''}`}> <View className="signature-top"> <View className="title">签名板</View> {/* 一系列按钮 */} </View> </View> <Canvas id="signature" canvasId="signature" className="canvas" ... /> </View> // SignaturePad.less .signature-pad { .signature-top { transform-origin: top left; transition: transform 0.3s; } .canvas { width: 686px; height: 360px; overflow: hidden; background: #fff; } &.full-screen { .signature-top { position: absolute; width: calc(100vh - 64px); transform: translate(686px, 0) rotate(90deg); } .canvas { width: 630px; height: 1386px; } } }

钉钉可以文件签名吗,钉钉文件里怎么手写签名(12)

上一页1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.