在 React 中从数组中为 select 生成 option 标签
在 React 中从数组中为 select 生成 option 标签:
-
使用
map()
方法迭代数组。 - 在每次迭代中,返回一个选项元素。
- 将唯一的关键属性传递给每个选项元素。
const App = () => {
const arr = [
{value: '', text: '--Choose an option--'},
{value: 'apple', text: 'Apple 🍏'},
{value: 'banana', text: 'Banana 🍌'},
{value: 'kiwi', text: 'Kiwi 🥝'},
];
const handleChange = event => {
console.log(event.target.value);
};
return (
<div>
<select onChange={handleChange} name="fruits" id="fruit-select">
{arr.map((option, index) => (
<option key={index} value={option.value}>
{option.text}
</option>
))}
</select>
</div>
);
};
export default App;
我们使用 Array.map
方法遍历数组并为每个数组元素呈现一个 option 标签。
我们传递给每个选项元素的关键属性由 React 在内部使用。 它跟踪数组中哪些元素发生了变化,因此 React 只能重新渲染发生变化的数组元素。
我们使用了 map()
方法中的索引,但是如果有的话最好使用一个稳定的值。
value
属性保证在所有 option
元素之间是唯一的,因此我们可以将它用于 key
属性。
const App = () => {
const arr = [
{value: '', text: '--Choose an option--'},
{value: 'apple', text: 'Apple 🍏'},
{value: 'banana', text: 'Banana 🍌'},
{value: 'kiwi', text: 'Kiwi 🥝'},
];
const handleChange = event => {
console.log(event.target.value);
};
// 👇️ using option.value for key
return (
<div>
<select onChange={handleChange} name="fruits" id="fruit-select">
{arr.map(option => (
<option key={option.value} value={option.value}>
{option.text}
</option>
))}
</select>
</div>
);
};
export default App;
每次所选值更改时,都会调用 handleChange
函数。 我们可以访问事件对象上所选选项的值作为 event.target.value
。
相关文章
HTML 中 Select 标签的 Readonly 只读
发布时间:2023/05/05 浏览次数:62 分类:HTML
-
本文介绍了如何在 HTML 中模拟 select 标签的只读属性。 这描述了两种解决方案,以适应而不是只读,因为它已经被弃用。
Django 中的 Select_related 方法
发布时间:2023/05/04 浏览次数:129 分类:Python
-
本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。
在 AngularJs 中设置 Select From Typescript 的默认选项值
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程提供了在 AngularJs 中从 TypeScript 中设置 HTML 标记选择的默认选项的解释性解决方案。
在 Angular 下拉菜单中 select 选项
发布时间:2023/04/13 浏览次数:125 分类:Angular
-
我们将介绍如何在 Angular 下拉列表中设置选定选项,从选项数组中设置选定选项,以及如果选项在 Angular 中是动态的,则设置选定选项。
Node.js 与 React JS 的比较
发布时间:2023/03/27 浏览次数:137 分类:Node.js
-
本文比较和对比了两种编程语言,Node.js 和 React。React 和 Node.js 都是开源 JavaScript 库的示例。 这些库用于构建用户界面和服务器端应用程序。
Angular 中过滤 select 列表中的 option
发布时间:2023/03/24 浏览次数:105 分类:Angular
-
Ng-options 是一个指令,它可以更轻松地创建一个 HTML 下拉框,用于从将保存在模型中的数组中选择一个项目。
在 PostgreSQL 中使用 Select 连接列
发布时间:2023/03/20 浏览次数:202 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中使用 Select 方法连接列。
在 TypeScript 中 React UseState 钩子类型
发布时间:2023/03/19 浏览次数:200 分类:TypeScript
-
本教程演示了如何在 TypeScript 中使用 React useState hook。
TypeScript 中的 React 事件类型
发布时间:2023/03/19 浏览次数:162 分类:TypeScript
-
本教程演示了如何在 TypeScript 中为 React 事件添加类型支持。