InputNumberItem.vue 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <template>
  2. <div :class="prefixCls">
  3. <span> {{ title }}</span>
  4. <InputNumber
  5. v-bind="$attrs"
  6. size="small"
  7. :class="`${prefixCls}-input-number`"
  8. @change="handleChange"
  9. />
  10. </div>
  11. </template>
  12. <script lang="ts" setup>
  13. import { PropType } from 'vue';
  14. import { InputNumber } from 'ant-design-vue';
  15. import { useDesign } from '@/hooks/web/useDesign';
  16. import { baseHandler } from '../handler';
  17. import { HandlerEnum } from '../enum';
  18. defineOptions({ name: 'InputNumberItem' });
  19. const props = defineProps({
  20. event: {
  21. type: Number as PropType<HandlerEnum>,
  22. },
  23. title: {
  24. type: String,
  25. },
  26. });
  27. const { prefixCls } = useDesign('setting-input-number-item');
  28. function handleChange(e) {
  29. props.event && baseHandler(props.event, e);
  30. }
  31. </script>
  32. <style lang="less" scoped>
  33. @prefix-cls: ~'@{namespace}-setting-input-number-item';
  34. .@{prefix-cls} {
  35. display: flex;
  36. justify-content: space-between;
  37. margin: 16px 0;
  38. &-input-number {
  39. width: 126px !important;
  40. }
  41. }
  42. </style>