@gm-pc/react 1.24.9-beta.7 → 1.25.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gm-pc/react",
3
- "version": "1.24.9-beta.7",
3
+ "version": "1.25.0-beta.0",
4
4
  "description": "观麦前端基础组件库",
5
5
  "author": "liyatang <liyatang@qq.com>",
6
6
  "homepage": "https://github.com/gmfe/gm-pc#readme",
@@ -24,7 +24,7 @@
24
24
  "dependencies": {
25
25
  "@gm-common/hooks": "^2.10.0",
26
26
  "@gm-common/tool": "^2.10.0",
27
- "@gm-pc/locales": "^1.24.9-beta.7",
27
+ "@gm-pc/locales": "^1.25.0-beta.0",
28
28
  "big.js": "^6.0.1",
29
29
  "classnames": "^2.2.5",
30
30
  "lodash": "^4.17.19",
@@ -48,5 +48,5 @@
48
48
  "react-router-dom": "^5.2.0",
49
49
  "react-window": "^1.8.5"
50
50
  },
51
- "gitHead": "0fbb1757088b94b142b675faa35142c6d78acbe2"
51
+ "gitHead": "e89cf336258d6b3ae239a7f2f82070d274df4884"
52
52
  }
@@ -49,6 +49,8 @@ interface CalendarProps {
49
49
  style?: CSSProperties
50
50
  /* 全键盘 */
51
51
  onKeyDown?(event: KeyboardEvent<HTMLDivElement>): void
52
+ /** 选择日期之后是否保留时间 */
53
+ preserveTime?: boolean
52
54
  }
53
55
 
54
56
  export type { DisabledYearAndMonth, RangeCalendarProps, CalendarProps }
@@ -45,6 +45,8 @@ export interface DatePickerProps {
45
45
  timeLimit?: TimeLimit
46
46
  /* 目前内部用,触发方式 */
47
47
  popoverType?: PopoverTrigger
48
+ /** 选择日期之后是否保留时间 */
49
+ preserveTime?: boolean
48
50
  }
49
51
 
50
52
  class DatePicker extends Component<DatePickerProps, DatePickerState> {
@@ -138,6 +140,7 @@ class DatePicker extends Component<DatePickerProps, DatePickerState> {
138
140
  enabledTimeSelect,
139
141
  popoverType,
140
142
  children,
143
+ preserveTime,
141
144
  ...rest
142
145
  } = this.props
143
146
  const { willActiveSelected } = this.state
@@ -151,6 +154,7 @@ class DatePicker extends Component<DatePickerProps, DatePickerState> {
151
154
  min={min}
152
155
  timeLimit={timeLimit!}
153
156
  enabledTimeSelect={enabledTimeSelect}
157
+ preserveTime={preserveTime}
154
158
  />
155
159
  )
156
160
  return (
@@ -19,6 +19,7 @@ interface OverlayProps {
19
19
  disabledDate?(date: Date): boolean
20
20
  timeLimit: TimeLimit
21
21
  enabledTimeSelect?: boolean
22
+ preserveTime?: boolean
22
23
  }
23
24
 
24
25
  const Overlay: FC<OverlayProps> = ({
@@ -30,6 +31,7 @@ const Overlay: FC<OverlayProps> = ({
30
31
  timeLimit,
31
32
  disabledDate,
32
33
  enabledTimeSelect,
34
+ preserveTime,
33
35
  }) => {
34
36
  const [selectedDate, setSelectedDate] = useState(date)
35
37
 
@@ -62,6 +64,13 @@ const Overlay: FC<OverlayProps> = ({
62
64
  if (type === 'date') {
63
65
  date = value
64
66
  time = getTime(value)
67
+ if (preserveTime && selectedDate) {
68
+ // 不修改时分秒,否则会导致时间变化
69
+ time = moment(date)
70
+ .set('hour', selectedDate.getHours())
71
+ .set('minute', selectedDate.getMinutes())
72
+ .toDate()
73
+ }
65
74
  } else {
66
75
  date = selectedDate!
67
76
  time = value
@@ -93,6 +93,7 @@ export const ComDatePickerWithTimeSelect = () => (
93
93
  <>
94
94
  <div className='gm-margin-tb-10'>增加时间选择</div>
95
95
  <DatePicker
96
+ preserveTime
96
97
  date={addTimeStore.date}
97
98
  placeholder='请选择日期'
98
99
  onChange={(date) => {