No Description

WantedPublish.tsx 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import React, { Component } from "react";
  2. export interface WatnedPublishBaseP {
  3. inputWantedRange?: [number, number];
  4. handleConfirm?: Function;
  5. currentWanted?: string | number | null;
  6. viewConfig?: {
  7. showInputWantedClear?: boolean;
  8. viewTextOptions?: {
  9. viewTitle: string;
  10. imgLabelBottom: string;
  11. inputTipTop: string;
  12. numberSuffix: string;
  13. inputTipBottom: string;
  14. clearModalTitle?: string;
  15. clearModalTip?: string;
  16. };
  17. };
  18. }
  19. export class WatnedPublishBase<
  20. T extends WatnedPublishBaseP,
  21. S
  22. > extends Component<T, S> {
  23. formatCurrentWanted = (
  24. value: string | number | null
  25. ): string | number | null => {
  26. const { inputWantedRange = [5, 10000] } = this.props;
  27. if (!value) return null;
  28. let result: string | number;
  29. result = value;
  30. if (parseInt(`${value}`, 10) === value) {
  31. // 无小数判断
  32. result = Number(value);
  33. }
  34. if (!result) return null;
  35. if (result > inputWantedRange[1]) result = inputWantedRange[1];
  36. if (result < inputWantedRange[0]) result = inputWantedRange[0];
  37. return result;
  38. };
  39. formatResult = (value: string | number | null) => {
  40. if (!value) return null;
  41. return Number(value).toFixed(2);
  42. };
  43. }