javascript -
问题描述
解决方案
您需要在您的选择标签上使用价值,value={selected}
import React from "react";
import "./Dropdown.css";
export default function Dropdown(data, onChange, selected) {
let flavorTexts = data.data;
console.log('dropdown got: ', flavorTexts);
return(
<select className="listDrop" onChange={onChange} value={selected}>
{flavorTexts.map((entry) => <option className="listElement" value={{lang: entry.language.name, ver: entry.version.name}}>{entry.language.name} — {entry.version.name}</option>)}
</select>
);
}
selected 参数应该来自你的state
,函数onChange
应该控制这个状态
这是一个处理选择输入状态的清晰示例(useEffect
仅查看更新状态的结果)
import React, { useState, useEffect } from 'react';
const options = [
{ id: 1, name: 'option 1' },
{ id: 2, name: 'option 2' },
];
export const Form = () => {
const [form, setForm] = useState({ selected: '' });
useEffect(() => {
console.log(form);
}, [form]);
const handleChange = e => {
const { name, value } = e.target;
setForm(form => ({ ...form, [name]: value }));
};
const handleSave = () => {};
return (
<form onSubmit={handleSave}>
<div>
<select name='selected' value={form.selected} onChange={handleChange}>
<option value=''>Select Option</option>
{options.map(option => (
<option key={option.id} value={option.name}>
{option.name}
</option>
))}
</select>
</div>
</form>
);
};
React 的文档有这个例子:文档
推荐阅读
- pdf.js - 在添加任何页面之前创建 turnjs 实例
- loops - 如何为具有底层集合的结构实现非消耗 IntoIterator?
- gnu-screen - 当我在 ConEmu 中使用 linux 屏幕时,选项卡不能正常工作?
- ruby-on-rails - 由于 PATCH 路由错误,无法更新实例
- react-native - 如果在 react-native CLI 中的选项卡焦点上删除记录,则 TabIcon 计数不会更新
- python - 使用 Python 从 URL 格式下载 csv:https://.../%Y%m%d.csv 一段时间
- amazon-sqs - AWS SQS:Golang,错误:InvalidClientTokenId:请求中包含的安全令牌无效
- docker - 使用堆栈部署的 Docker Swarm 应用程序无法从外部访问
- python - 是否可以维护我之前更改的python工作目录
- storage - 阿里云ECS总是增加磁盘空间?