У меня есть массив, который выглядит следующим образом ..
OrchardSite > Array(16) > 0: {blocks: Array (3), name: "asdasd", code: "R101A"}
1: {blocks: Array (7), name: "dasdas", code: "R555"}
Каждый сайт имеет различное количество блоков. Когда я выбираю сайт, я хочу видеть выбранное значение, например, если я выбираю R101A, Должно быть только 3 блока, это то, что я реализую позже.Прямо сейчас я даже не могу прочитать значение выбранного элемента, и это то, что мне нужно помочь с ..
setOrchard = (event) => {
const orchardId = event.target.value;
console.log("orchardID", orchardId)
if (orchardId.length > 0) {
if (!this.props.metadata.OrchardSites[parseInt(orchardId)].blocks)
this.props.metadata.orchardSites[parseInt(orchardId)].blocks = []
console.log("SetttingOrchardLocation", this.props.metadata.orchardSites)
this.setState({ orchardId: orchardId, block: null, area: null, row: null, site: Object.assign({}, this.props.metadata.orchardSites[parseInt(orchardId)]) })
console.log("Testing OrchardId", this.props.metadata.orchardSites[parseInt(orchardId)])
// parseInt to get access to the array index, (Maybe I need to .ToString() somewhere?
}
}
в моем рендере, у меня есть это ..
const orchardId: string = (this.state as any).orchardId.toString()
И мой JSX выглядит следующим образом
<select className="input-field-slider dropdown w-select" onChange={() => this.setOrchard(orchardId)}>
<option>All Sites</option>
{orchardSites
.map((orchardSite, i) => (
<option key={i} value={orchardSite.code}>
{orchardSite.code + " " + orchardSite.name}
</option>
))}
Каждый раз, когда я меняю опцию в моем раскрывающемся меню, моя функция срабатывает и дает мне обновленный Орчард, ну, в общем, идея в любом случае ..
Uncaught TypeError: Невозможно прочитать свойство 'значение' из неопределенного
Вместо этого меня приветствует это, каждый раз, когда я изменяю параметр ..