Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS+;反应对象在<;的值属性中不守恒;选项>;标签_Javascript_Html_Reactjs_Javascript Objects - Fatal编程技术网

Javascript JS+;反应对象在<;的值属性中不守恒;选项>;标签

Javascript JS+;反应对象在<;的值属性中不守恒;选项>;标签,javascript,html,reactjs,javascript-objects,Javascript,Html,Reactjs,Javascript Objects,我有一个从在线数据库获取的下拉列表,并在列表中循环,allStaff,如下所示: <select onChange={handleChange} className="select-css"> <option disabled defaultValue selected>Select Name</option> {allStaff.map(person=>(

我有一个从在线数据库获取的下拉列表,并在列表中循环,
allStaff
,如下所示:

      <select onChange={handleChange}  className="select-css">    
                <option disabled  defaultValue selected>Select Name</option>

                {allStaff.map(person=>(
                    <option value={person} key={person._id}>{person.name}</option>
                ))}
      </select>
const handleChange = event => {
    person = event.target.value;
}
因此,当我试图提取person的某些部分时,它似乎注册为一个字符串,等于
[object object]
,我已经通过控制台日志检查了这个字符串,例如,我将尝试
person.name
,并将得到一个错误。我遗漏了什么阻止我将person作为person对象来写? 作为参考,
allStaff
正确输入如下:

[
  {
  "_id": "5ec63e97516541c07c2b26d3",
  "name": "Bob the builder",
  "clockedIn": false
 },
 {
  "_id": "5ec68b41307f0b002436234a",
  "name": "Bobby turner",
  "clockedIn": false,
  "time": "1333"
 },
 {
  "_id": "5ec68b4d307f0b002436234b",
  "name": "Bobby timer",
  "clockedIn": true
 }
]

选项的值应为字符串

<select onChange={handleChange}  className="select-css">    
            <option disabled  defaultValue selected>Select Name</option>

            {allStaff.map(person=>(
                <option value={person._id} key={person._id}>{person.name}</option>
            ))}
  </select>

谢谢我最终基本上做到了这一点,但通过循环遍历所有员工以匹配特定员工。出于某种原因,人们认为只要在单击该对象时抓住它是可能的。有道理,泰!
const handleChange = event => {
   personId = event.target.value;
   person = allStaff.find(staff=>staff._id === personId)
}