Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit24bbd5b

Browse files
fix datepicker column in table
1 parent0ef549c commit24bbd5b

File tree

1 file changed

+17
-3
lines changed
  • client/packages/lowcoder/src/comps/comps/tableComp/column/columnTypeComps

1 file changed

+17
-3
lines changed

‎client/packages/lowcoder/src/comps/comps/tableComp/column/columnTypeComps/columnDateComp.tsx‎

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { isNumber } from "lodash";
1212
importdayjsfrom"dayjs";
1313
importutcfrom"dayjs/plugin/utc";
1414
import{CalendarCompIconSmall,PrevIcon,SuperPrevIcon}from"lowcoder-design";
15-
import{useState}from"react";
15+
import{useEffect,useRef,useState}from"react";
1616
importstyledfrom"styled-components";
1717
import{DateParser,DATE_FORMAT}from"util/dateTimeUtils";
1818

@@ -149,20 +149,34 @@ type DateEditProps = {
149149
};
150150

151151
exportconstDateEdit=(props:DateEditProps)=>{
152+
constpickerRef=useRef<any>();
152153
const[panelOpen,setPanelOpen]=useState(true);
153154
letvalue=dayjs(props.value,DateParser);
154155
if(!value.isValid()){
155156
value=dayjs(0,DateParser);
156157
}
158+
159+
const[tempValue,setTempValue]=useState<dayjs.Dayjs|null>(value);
160+
161+
useEffect(()=>{
162+
constvalue=props.value ?dayjs(props.value,DateParser) :null;
163+
setTempValue(value);
164+
},[props.value])
165+
157166
return(
158167
<Wrapper
159168
onKeyDown={(e)=>{
160169
if(e.key==="Enter"&&!panelOpen){
161170
props.onChangeEnd();
162171
}
163172
}}
173+
onMouseDown={(e)=>{
174+
e.stopPropagation();
175+
e.preventDefault();
176+
}}
164177
>
165178
<DatePickerStyled
179+
ref={pickerRef}
166180
$open={panelOpen}
167181
suffixIcon={<CalendarCompIconSmall/>}
168182
prevIcon={<PrevIcon/>}
@@ -172,7 +186,7 @@ export const DateEdit = (props: DateEditProps) => {
172186
allowClear={false}
173187
variant="borderless"
174188
autoFocus
175-
defaultValue={value}
189+
value={tempValue}
176190
showTime={props.showTime}
177191
showNow={true}
178192
defaultOpen={true}
@@ -184,7 +198,7 @@ export const DateEdit = (props: DateEditProps) => {
184198
}}
185199
onOpenChange={(open)=>setPanelOpen(open)}
186200
onChange={(value,dateString)=>props.onChange(dateStringasstring)}
187-
onBlur={props.onChangeEnd}
201+
onBlur={()=>props.onChangeEnd()}
188202
/>
189203
</Wrapper>
190204
);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp