• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

SkylerHu / antd-restful / #3

10 Jul 2025 02:38PM UTC coverage: 77.983%. First build
#3

push

web-flow
feat: 扩展组件支持远程获取数据 (#1)

扩展组件支持远程获取数据

1016 of 1392 branches covered (72.99%)

Branch coverage included in aggregate %.

1352 of 1644 new or added lines in 28 files covered. (82.24%)

1389 of 1692 relevant lines covered (82.09%)

26.95 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

75.0
/src/components/formitems/DateStrPicker.jsx
1
import React, { useCallback } from "react";
2
import PropTypes from "prop-types";
3
import { DatePicker, TimePicker } from "antd";
4
import dayjs from "dayjs";
5
import { READ_ONLY_CLASS } from "src/common/constants";
6
import { isFunction } from "src/common/typeTools";
7

8
const DateStrPicker = ({
3✔
9
  style,
10
  className,
11
  value,
12
  defaultValue,
13
  format,
14
  onChange,
15
  disabled = false,
2✔
16
  readOnly = false,
1✔
17
  picker = "date",
1✔
18
  antdPickerProps,
19
}) => {
20
  const onValueChange = useCallback(
2✔
21
    (date, dateString) => {
NEW
22
      if (isFunction(onChange)) {
×
NEW
23
        onChange(dateString, date);
×
24
      }
25
    },
26
    [onChange]
27
  );
28

29
  const getDayjsValue = useCallback(
2✔
30
    (val) => {
31
      return val ? dayjs(val, format) : undefined;
2✔
32
    },
33
    [format]
34
  );
35

36
  if (readOnly) {
2✔
37
    return (
1✔
38
      <span style={style} className={className ? `${className} ${READ_ONLY_CLASS}` : READ_ONLY_CLASS}>
1!
39
        {value}
40
      </span>
41
    );
42
  }
43

44
  const Picker = picker === "time" ? TimePicker : DatePicker;
1!
45
  return (
1✔
46
    <Picker
47
      style={style}
48
      className={className}
49
      {...antdPickerProps}
50
      picker={picker}
51
      disabled={disabled}
52
      value={getDayjsValue(value)}
53
      defaultValue={getDayjsValue(defaultValue)}
54
      onChange={onValueChange}
55
      format={format}
56
    />
57
  );
58
};
59
DateStrPicker.propTypes = {
3✔
60
  style: PropTypes.object,
61
  className: PropTypes.string,
62

63
  value: PropTypes.string,
64
  onChange: PropTypes.func,
65
  // 原生组件支持的配置
66
  defaultValue: PropTypes.string,
67
  format: PropTypes.string,
68

69
  picker: PropTypes.string,
70
  disabled: PropTypes.bool,
71
  readOnly: PropTypes.bool,
72
  antdPickerProps: PropTypes.object,
73
};
74

75
export default DateStrPicker;
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc