Javascript 设置对象数组中的下拉值

Javascript 设置对象数组中的下拉值,javascript,reactjs,react-native,Javascript,Reactjs,React Native,这是从WebAPI获取并存储在名为items的状态中的数据 this.setState({ items: dataSource staffId: '' }) 项目的此状态将如下所示 [ {"departmentName":"KYAUKSE MAINTENANCE","employeeName":"AUNG THU1", "staffId" : "00001"}, {"departmentName":"KYAUKSE MAINTENANCE","employeeNam

这是从WebAPI获取并存储在名为items的状态中的数据

this.setState({
    items: dataSource
  staffId: ''
})
项目的此状态将如下所示

[
    {"departmentName":"KYAUKSE MAINTENANCE","employeeName":"AUNG THU1", "staffId" : "00001"},
    {"departmentName":"KYAUKSE MAINTENANCE","employeeName":"AUNG THU2", "staffId" : "00002"},
    {"departmentName":"KYAUKSE MAINTENANCE","employeeName":"AUNG THU3", "staffId" : "00003"}
]
我想在react native中创建一个下拉列表,其中只包含EmployeeName

let staff = [{
      value: 'AUNG THU1',
    }, {
      value: 'AUNG THU2',
    }, {
      value: 'AUNG THU3',
    }];
this.onChangeName(值)}
/>

编辑:谢谢您的回答!我想知道是否可以在下拉列表中获取所选值的标记?因此,如果我选择AUNG THU 1,onChange方法将触发,我想将staffId的状态设置为它。

如果您想更改数组,请尝试下面的方法

let dataSource = [
  { departmentName: "KYAUKSE MAINTENANCE", employeeName: "AUNG THU1" },
  { departmentName: "KYAUKSE MAINTENANCE", employeeName: "AUNG THU2" },
  { departmentName: "KYAUKSE MAINTENANCE", employeeName: "AUNG THU3" }
];

let staff = dataSource.map(item => ({
  value: item.employeeName,
  staffId: item.staffId
}));

console.log(staff);

希望这对你有帮助。无需怀疑。

仔细检查您的下拉组件。它可能需要同时具有键和值的数据数组

let staff = [{
  key: 'AUNG THU1',
  value: 'AUNG THU1'
}, {
  key: 'AUNG THU2',
  value: 'AUNG THU2'
}, {
  key: 'AUNG THU3',
  value: 'AUNG THU3'
}];

你好谢谢您的回答,但是有没有办法让我获得所选员工的id?例如,如果我要在下拉列表中选择
AUNG THU1
,我想获取他的
staffId
@MinUD的值检查您的
下拉列表
应该有道具来获取所选值。它说selectedValue是“其中一个项目的值匹配值”。因此我传递
selectedValue={value}
,而我的
onChangeText={(staffId)=>this.onChangeName(staffId)}
。我能用这种方法得到标记吗?@MinUD您用于
下拉列表
的库是什么?它是
react native material下拉列表
let staff = [{
  key: 'AUNG THU1',
  value: 'AUNG THU1'
}, {
  key: 'AUNG THU2',
  value: 'AUNG THU2'
}, {
  key: 'AUNG THU3',
  value: 'AUNG THU3'
}];