InputNumberItem.vue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <div :class="prefixCls">
  3. <span> {{ title }}</span>
  4. <InputNumber :max="7200" v-bind="$attrs" size="small" :class="`${prefixCls}-input-number`" @change="handleChange" />
  5. </div>
  6. </template>
  7. <script lang="ts">
  8. import { defineComponent, PropType } from 'vue';
  9. import { InputNumber } from 'ant-design-vue';
  10. import { useDesign } from '/@/hooks/web/useDesign';
  11. import { baseHandler } from '../handler';
  12. import { HandlerEnum } from '../enum';
  13. export default defineComponent({
  14. name: 'InputNumberItem',
  15. components: { InputNumber },
  16. props: {
  17. event: {
  18. type: Number as PropType<HandlerEnum>,
  19. },
  20. title: {
  21. type: String,
  22. },
  23. },
  24. setup(props) {
  25. const { prefixCls } = useDesign('setting-input-number-item');
  26. function handleChange(e) {
  27. props.event && baseHandler(props.event, e);
  28. }
  29. return {
  30. prefixCls,
  31. handleChange,
  32. };
  33. },
  34. });
  35. </script>
  36. <style lang="less" scoped>
  37. @prefix-cls: ~'@{namespace}-setting-input-number-item';
  38. .@{prefix-cls} {
  39. display: flex;
  40. justify-content: space-between;
  41. margin: 16px 0;
  42. &-input-number {
  43. width: 126px;
  44. }
  45. }
  46. html[data-theme='dark'] {
  47. .@{prefix-cls} {
  48. color: rgba(255, 255, 255, 0.8);
  49. }
  50. }
  51. </style>