compass.vue 949 B

123456789101112131415161718192021222324252627282930313233
  1. <template>
  2. <el-form-item label="方向:">
  3. <!-- <el-slider
  4. style="width: 100px"
  5. :model-value="value"
  6. :format-tooltip="(val) => `${val}°`"
  7. @update:model-value="val => setRotate(val as number, false)"
  8. :min="0"
  9. @change="() => setRotate(value as number, true)"
  10. :max="360"
  11. /> -->
  12. <el-input-number
  13. :model-value="value"
  14. @update:model-value="val => setRotate(val as number, false)"
  15. :min="0"
  16. :max="360"
  17. />
  18. </el-form-item>
  19. </template>
  20. <script setup lang="ts">
  21. import { ref } from "vue";
  22. import { BoardShape } from "../board";
  23. import { ElSlider } from "element-plus";
  24. const props = defineProps<{ shape: BoardShape }>();
  25. const emit = defineEmits<{ (e: "blur"): void }>();
  26. const value = ref<number>(props.shape.data.rotate);
  27. console.log(props.shape);
  28. const setRotate = (edg: number, save: boolean) => {
  29. value.value = edg;
  30. props.shape.setRotate(edg, save);
  31. };
  32. </script>