首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react-hook-form和react-datetime:如何从按钮将时间设置为moment()

react-hook-form和react-datetime:如何从按钮将时间设置为moment()
EN

Stack Overflow用户
提问于 2021-11-06 03:29:16
回答 1查看 76关注 0票数 0

我在react-hook-form中使用react-datetime

我希望用户可以使用按钮Immediate轻松地将时间设置为当前时间。而不是手动选择当前时间。

我正在尝试下面的方法

代码语言:javascript
复制
const [currentDateTime, setcurrentDateTime] = useState(null);
<Controller
    name="resetDateTime"
    control={control}
    required
    render={({ field }) => (
        <Datetime
            onChange={setcurrentDateTime}
            inputProps={{
                placeholder: "MM-DD-YYYY HH:mm",
            }}
            value={currentDateTime}
            viewMode="time"
        />
    )}
/>
<Button color="primary" className="ml-1" onClick={() => setcurrentDateTime(moment())}>
    {"Immediate"}
</Button>

问题是我得到resetDateTime = undefined的onSubmit -hook-form

如何正确地实现这一点。因此,我可以使用Immediate按钮,还可以提交表单并获取resetDateTime

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-06 08:57:04

您正在将RHF与您当地的州currentDateTime混合,并且没有将。字段设置为RHF,因为您缺少将field对象扩展到<Datetime />组件的方法。

正确的方法是使用RHF的setValue来更新您的resetDateTime字段,并去掉useState钩子。

代码语言:javascript
复制
const { control, handleSubmit, setValue } = useForm();
代码语言:javascript
复制
<Controller
    name="resetDateTime"
    control={control}
    required
    render={({ field }) => (
        <Datetime
            {...field}
            inputProps={{
                placeholder: "MM-DD-YYYY HH:mm",
            }}
            viewMode="time"
        />
    )}
/>

<Button color="primary" className="ml-1" onClick={() => setValue("resetDateTime", moment())}>
    {"Immediate"}
</Button>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69861236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档