【问题标题】:Text Area with [Object object]带有 [对象对象] 的文本区域
【发布时间】:2021-09-01 18:59:24
【问题描述】:

我为我的表单创建了一个组件,它看起来像这样

import React from "react";

export default function TextArea(name, value, onChange) {
  return (
    <div className="mt-1">
      <textarea
        rows={3}
        className="mt1 block w-full py-1.5 px-3 rounded-md border-2 border-orange-light"
        placeholder="Digite"
        value={value}
        onChange={onChange}
        name={name}
      />
    </div>
  );
}

但是当我使用它时,它会停留在一个 [object object] 中,在这个 textarea 内

我在我的表单上这样使用它

 <TextArea
    name="about"
    value={about}
    onChange={(e) => setAbout(e.target.value)} />

谁能告诉我应该怎么做才能解决这个问题? 谢谢!

【问题讨论】:

  • 好吧,about 是一个对象,而您没有在 textarea 中指定该对象的什么属性。

标签: javascript node.js reactjs forms


【解决方案1】:

这是正确的 TextArea 组件代码,请试试这个,它将解决您的问题 :)

import React from "react";

export default function TextArea({ name, value, onChange }) {
  return (
    <div className="mt-1">
      <textarea
        rows={3}
        className="mt1 block w-full py-1.5 px-3 rounded-md border-2 border-orange-light"
        placeholder="Digite"
        value={value}
        onChange={onChange}
        name={name}
      />
    </div>
  );
}

【讨论】:

    【解决方案2】:

    首先执行 console.log(value) 并找出 object 中的内容,然后像下面一样使用它与您的 object 获得的任何属性名称。

     value={value.propertyname} 
    

    【讨论】:

      【解决方案3】:

      你传递什么参数给'value'? 最有可能的是,传递给“值”的是一个对象,请先检查一下,这样我才能更好地帮助您。

      更新

      在声明 about 时,可能会声明它以使其保持为对象。 然后声明为:

      const [about, setAbout] = useState("");
      <TextArea
      ...,
      value={about},
      ...
      >
      

      【讨论】:

      • &lt;form onSubmit={(e) =&gt; handleSubmit(e, { email, title, job, state, city, about, tel, wpp, insta, fb, linkedin })}我的大约是这个,我用我的表格
      • 您传递给 的这个“值”正在作为 Object 传递,因为这个变量正在被声明或之前传递给它的内容那个。
      猜你喜欢
      • 2018-12-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      • 2012-03-09
      • 2020-01-17
      • 2011-11-28
      相关资源
      最近更新 更多