demo.vue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <template>
  2. <div class="demo">
  3. <h2>基础用法</h2>
  4. <div>
  5. <nut-signature @confirm="confirm" @clear="clear"></nut-signature>
  6. <p class="demo-tips demo1">Tips: 点击确认按钮,下方显示签名图片</p>
  7. </div>
  8. <h2>修改颜色和签字粗细</h2>
  9. <div>
  10. <nut-signature
  11. :lineWidth="lineWidth"
  12. :strokeStyle="strokeStyle"
  13. ></nut-signature>
  14. </div>
  15. </div>
  16. </template>
  17. <script lang="ts">
  18. import { reactive } from 'vue';
  19. import { createComponent } from '../../utils/create';
  20. const { createDemo } = createComponent('signature');
  21. export default createDemo({
  22. props: {},
  23. setup() {
  24. const state = reactive({
  25. lineWidth: 4,
  26. strokeStyle: 'green'
  27. });
  28. const confirm = (canvas: any, data: any) => {
  29. let img = document.createElement('img');
  30. img.src = data;
  31. document.querySelector('.demo1').appendChild(img);
  32. };
  33. return { ...state, confirm };
  34. }
  35. });
  36. </script>
  37. <style lang="scss" scoped>
  38. .demo {
  39. display: flex;
  40. flex-direction: column;
  41. .demo-tips {
  42. font-size: 12px;
  43. color: #666;
  44. }
  45. }
  46. </style>