| 
					
				 | 
			
			
				@@ -1,14 +1,17 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   <PageWrapper title="图片裁剪示例" contentBackground> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <CropperImage src="https://fengyuanchen.github.io/cropperjs/images/picture.jpg" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="cropper-container"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <CropperImage ref="refCropper" src="https://fengyuanchen.github.io/cropperjs/images/picture.jpg" @cropperedInfo="cropperedInfo" style="width:40%" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <a-button type="primary" @click="onCropper"> 裁剪 </a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <img :src="cropperImg" class="croppered" v-if="cropperImg" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <p v-if="cropperImg">裁剪后图片信息:{{ info }}</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </PageWrapper> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script lang="ts"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import { defineComponent } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import { defineComponent, ref, onBeforeMount, getCurrentInstance } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   import { PageWrapper } from '/@/components/Page'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   import { CropperImage } from '/@/components/Cropper'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   import img from '/@/assets/images/header.jpg'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     components: { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -16,7 +19,42 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       CropperImage, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     setup() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return { img }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let vm: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let info = ref(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let cropperImg = ref(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const onCropper = (): void => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        vm.refs.refCropper.croppered(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      onBeforeMount(()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        vm = getCurrentInstance(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     function cropperedInfo({ imgBase64, imgInfo }) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       info.value = imgInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       cropperImg.value = imgBase64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        img, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        info, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cropperImg, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        onCropper, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cropperedInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.cropper-container { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display:flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  justify-content: space-around; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.croppered { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 50%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |