Я получаю некоторую информацию от API и показываю ее как раскрывающиеся элементы с выбором ответа. Я хочу выбрать любой элемент, а затем удалить его, нажав кнопку, которая отправляет значение моей функции handleSubmit для повторной отправки в API:
export class DeleteDepModal extends Component {
state = {
departments: [],
idValue: ' '
}
getDepartments() {
axios.get('/api/jobs/list-departments',{headers:headers}).then(resp=>{
this.setState({
departments: resp.data.map(departments=>({label:[departments.name,' ',departments.company_name], value:departments.id})),
})
})
}
componentDidMount() {
this.getDepartments()
}
handleSubmit = (event) => {
event.preventDefault()
console.log('handleDeletesubmitshot')
const DepID = this.state.idValue
axios(
{
method: 'delete',
url: '/api/jobs/delete-department' + DepID,
headers: headers,
})
.then(response => {
console.log(response)
alert('Department Deleted Successfully!')
})
.then(
this.getDepartments()
)
.catch(error => {
console.log(error.response)
})
}
render () {
return (
<Modal
{...this.props}
size='lg'
aria-labelledby='contained-modal-title-vcenter'
centered
>
<Modal.Header closeButton>
<Modal.Title style={{ color: 'black' }} id='contained-modal-title-vcenter'>
Delete Department
</Modal.Title>
</Modal.Header>
<Modal.Body>
<div className='container'>
<Form onSubmit={this.handleSubmit}>
{
<Row>
<Col xs={6}>
<Select onChange={(event) => this.setState({ idValue: event.target.departments[i].value})} placeholder='Select from pre-created Departments' required options={this.state.departments}/>
</Col>
<Col xs={6}>
<Button style={{ position: 'relative', left: '150px' }} variant='danger' type='submit'>Delete Department</Button>
</Col>
</Row>
}
</Form>
</div>
</Modal.Body>
<Modal.Footer />
</Modal>
)
}
}
sizes [i] .value - это информация, которую я хочу отправить в мою функцию handleSubmit, но теперь у меня две проблемы:
Я не знаю, как выполнить итерацию в массиве моего отдела и получить индекс выбранного элемента ( i), a для l oop не работает
event.target не идентифицирован и не получает информацию в функцию handleSubmit
Что делать?