#c# #reactjs
Вопрос:
У меня на сайте есть вкладка «Файл». Я добавляю раскрывающийся список категорий, чтобы пользователи могли помечать свои файлы в соответствии с категорией, чтобы они могли лучше организовать свои файлы. У меня возникли проблемы с захватом значения моего выпадающего списка, так что, когда я нажимаю «Сохранить», значение категории сохраняется и сохраняется в базе данных, а затем отображается вместе с остальной информацией о файле well при перезагрузке.
Это делается на всем веб-сайте, но уникальность здесь в том, что значение раскрывающегося списка добавляется не непосредственно в интерфейс, а в массив iWell как
Public Files: AttachedFile [] = []
Проблема, с которой я сталкиваюсь, заключается в том, что, хотя раскрывающийся список отображается, значение раскрывающегося списка вообще не регистрируется при изменении значения в раскрывающемся списке, и поэтому, когда я сохраняю, оно не сохраняет значение раскрывающегося списка категорий.
Вот где я создаю и отображаю раскрывающийся список.
private handleInputChange(event: any) { const category = this.state.well; category[event.target.name] = event.target.value; console.log(category); this.setState({ isDirty: true, selectedFile: category, }); } public renderDropdown = ({}) =gt; (event: any) =gt; { return ( lt;FormGroup gt; lt;EInput type="select" name="Category" value={this.state.well.files} onChange={this.handleInputChange[event]} gt; lt;option value="" /gt; lt;option value="Not Categorized"gt;Not Categorizedlt;/optiongt; lt;option value="Signed Documents"gt;Signed Documentslt;/optiongt; lt;option value="Unsigned Documents"gt;Unsigned Documentslt;/optiongt; lt;option value="3rd Party Documents"gt;3rd Party Documentslt;/optiongt; lt;option value="General Well Info"gt;General Well Infolt;/optiongt; lt;/EInputgt; lt;/FormGroupgt; ); }
To render the files info, we are just mapping over well.files and grabbing each category like so:
private formatWellFiles = () =gt; { const files = this.state.well.files; const headers = [ "File Name", "Category", "Size", "Uploaded By", "Upload Date", "Download", ]; const rows = files.map(f =gt; { return [ { content: f.name }, { content: this.renderDropdown(f.category), type: 'render' }, { content: this.renderSize(f.size), sortItem: Number(f.size), type: 'render' }, { content: f.createUser }, { content: f.createDate }, { content: this.renderDownload(f), type: 'render', }, ]; });
Я также не могу использовать что-то вроде
onChange={event =gt; this.handleInputChange(event)}
потому что это выдаст мне ошибку: Привязки запрещены