代码之家  ›  专栏  ›  技术社区  ›  HalfWebDev

选择事件和默认值的类型脚本转换错误

  •  2
  • HalfWebDev  · 技术社区  · 6 年前

    tslint在defaulvalue上引发错误- Type 'string' is not assignable to type 'ChangeEvent<HTMLInputElement> | undefined -用于以下代码

    const App = () => {
      const [ month, setMonth] = useState("last1")
      const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
          console.log(e);
          setMonth(e.target.value);
      }
      ...
    

    然后内部返回

      <Select defaultValue={month} style={{ width: 120 }} onChange={handleChange}>
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Shubham Khatri    6 年前

    这个 Select 您使用的组件很可能正在将值传递给 onChange handler 而不是事件,因此你会得到警告

    你应该这样定义它

    const App = () => {
      const [ month, setMonth] = useState("last1")
      const handleChange = (value: string) => {
          setMonth(value);
      }
      ...