reactjs - 当页面首次加载时,如何在输入中使用占位符文本而不是值(今天的日期)?
问题描述
我有一个输入,它从完整的日历中获取值,所以每当我选择一个日期时,输入值都会更新。问题是,当页面第一次加载时,我得到的是今天的日期,而不是输入的占位符,即“YYYY/MM/DD”。
如何将占位符显示为初始值,并且仅在用户从日历中选择日期时更新该值?
这是我的代码:
const [showCalendar, setShowCalendar] = React.useState(false);
React.useEffect(() => {
showCalendar
? (document.body.style.overflow = "hidden")
: (document.body.style.overflow = "visible");
document.addEventListener("click", onclick, false);
return () => {
document.removeEventListener("click", onclick, false);
};
}, [showCalendar]);
const { t, i18n } = useTranslation();
const wrapperRef = useRef(null);
const { value} = props;
const { language } = i18n;
const formattedDate = format(value, "y.MM.dd")
debugger
return (
<DatePickerWrapper ref={wrapperRef}>
<InputContainer>
<Label>Date picker</Label>
<DatePickerInput
value = { value ? formattedDate.toString() : 0}
placeholder= {"YYYY/MM/DD"}
iconId={"calendar"}
onClick={() => setShowCalendar(true)}
/>
</InputContainer>
使用组件时:
const [date, setDate] = React.useState<Date>(null);
return (
<DatePicker
value={date}
onChange={setDate}/>
解决方案
推荐阅读
- java - 如何将带有base64的xml转换为javabean?
- ruby-on-rails - 域中的“重置密码”链接缺少点
- java - 如何为 html 代码的 linkText 编写代码
- ffmpeg - 通过ffmepg转换视频时显示错误
- google-chrome-devtools - 有没有办法从控制台以编程方式触发离线/在线事件?
- python - 单击 ipywidgets 按钮时分配变量。button.on_click 事件
- ruby-on-rails - 在多个属性上使用 sum 和 chartkick
- openapi - 如何返回 lon 和 lat (swaggerhub) 的总和?
- python - 标点符号删除之前/之后的POS标记?
- python - 在 django 中将字段从模型复制到另一个模型的功能