当前位置: 首页 > 知识库问答 >
问题:

带有typescript的自定义react日期选择器

颛孙沈义
2023-03-14

我试图创建一个自定义日期选择器,按照留档中的说明,经过很长一段时间,我能够做到,但我仍然收到一个错误,说“函数组件不能给出参考。访问此参考文件的尝试将失败。你的意思是使用React.forwardRef()吗?"我在我的项目中使用打字稿。

import DatePicker from "react-datepicker";
import React, { useContext, useState } from "react";
import "react-datepicker/dist/react-datepicker.css"; 
 
const Feed: React.FC = () => { 
 const [startDate, setStartDate] = useState();
  const ExampleCustomInput = ({
    value,
    onClick,
  }: {
    value?: any;
    onClick?: any;
  }) => (
    <DateFilter className="example-custom-input" onClick={onClick}>
      {value || "Escolha uma data"}
      <CalendarIcon />
    </DateFilter>
  );
  
    return (
    <Container>
      <LeftContent>
        <NewPost onClick={openModal}>+ Novo post</NewPost>
        <DatePicker
          dateFormat="dd/MM/yyyy"
          selected={startDate}
          onChange={(date: any) => setStartDate(date)}
          customInput={<ExampleCustomInput />}
        />
      </LeftContent>
    </Container>
  );
 };
 
 export default Feed;

共有1个答案

诸葛利
2023-03-14

是的,您需要使用React.forwardRef来解决这个问题。这是我想出来解决这个问题的代码:

import React, { FunctionComponent } from 'react'
import ReactDatePicker, { ReactDatePickerProps } from 'react-datepicker'

import 'react-datepicker/dist/react-datepicker.css'

const ReactDatePickerInput = React.forwardRef<
  HTMLInputElement,
  React.DetailedHTMLProps<
    React.InputHTMLAttributes<HTMLInputElement>,
    HTMLInputElement
  >
>((props, ref) => <input ref={ref} {...props} />)

ReactDatePickerInput.displayName = 'ReactDatePickerInput'

export const FormDatePicker: FunctionComponent<ReactDatePickerProps> = (props) => {
  return (
    <ReactDatePicker
      {...props}
      // @see https://github.com/Hacker0x01/react-datepicker/issues/862#issuecomment-534736357
      customInput={<ReactDatePickerInput label={label || ''} name={name} />}
    />
  )
}

 类似资料:
  • 本文向大家介绍iOS自定义日期选择器,包括了iOS自定义日期选择器的使用技巧和注意事项,需要的朋友参考一下 前言 封装了一个日期选择器,解决两个问题: 1、点击textField,键盘弹出和日期选择器弹出的逻辑处理; 2、同一个界面需要多次用到日期选择器时,判断点击的textField; 一、封装日期选择器类YCDatePickerView 1、新建一个类,基于UIView,取名YCDatePic

  • 我不知道以前有没有人问过这个问题。我要给我爸爸建一个计算器。他问我有没有办法用按钮定制。 我还没有完成任何代码。我打算尝试一些东西。我的研究结果一无所获。 这就是我想要实现的,我感觉它打破了android studio的编码法则。这就是概念: 想象一下计算器。数字上方有8个空白按钮。这些按钮通常具有百分比和sqrt等功能。,。。等 有人问我,他是否可以按住按钮,随意改变这些功能。 所以现在的问题是

  • PHP 7.0.33和yii2.0.16在这里。 我需要定制一个yii2日期时间选择器,我在某个时候卡住了。我看了几个扩展,我最终使用了下面的一个,因为它让我最接近我想要实现的目标: https://github.com/kartik-v/yii2-date-range 所以,我的代码是: 结果是: 几乎不错,但是有几件事我不知道我是否可以定制: > 当我开始选择日期、时间、分钟时,目标表单元素的

  • > 总结一下问题:我试图了解如何以特定的方式自定义html5日期选择器,具体来说,格式类似于8月31日星期二的[日历图标],右侧带有插入符号,可以打开日期选择器。经过初步搜索,我找到了这些用于自定义日期输入文本框的伪元素。 预期的结果是,这些定制选项在大多数情况下都可以满足定制日期选择器的要求,但到目前为止,我还无法应用这些选项来完全满足目标。例如,我试图去掉文本框中的第二个正斜杠(31之后的代码

  • 本文向大家介绍iOS自定义UIDatePicker日期选择器视图,包括了iOS自定义UIDatePicker日期选择器视图的使用技巧和注意事项,需要的朋友参考一下 iOS自定义UIDatePicker日期选择器视图 ,首先看一下效果图: 下面贴上相关代码: ViewController: HWDatePicker: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我使用npm包在我的React应用程序中使用Bootstrap 4组件。 然后尝试在我的组件中使用它: 我得到了错误 在C:\Users\y\Desktop\Code\test\node\u modules\react bootstrap date picker\lib中找不到模块:“react bootstrap/lib/Button” @./~/react-bootstrap-date-pic