【发布时间】:2021-06-10 16:38:44
【问题描述】:
我正在使用 React 尝试使用功能组件中的 Select 控件触发 onChange 事件。问题是当我选择任何可用选项时,永远不会触发 onChange 侦听器方法,这是我的代码:
import React, { useState } from 'react';
import './ExpensesFilter.css';
const ExpensesFilter = (props) => {
const [year, setYear] = useState('');
const yearChangeHandler = (event) => {
/* setYear actualiza, por medio de useState,
a year de manera asincrona, useState es un hooks
*/
setYear(event);
console.log("the user is filtering by year");
console.log("year selected: "+year);
};
return (
<div className='expenses-filter'>
<div className='expenses-filter__control'>
<label>Filter by year</label>
<select onChange={yearChangeHandler}>
<option value='2022'>2022</option>
<option value='2021'>2021</option>
<option value='2020'>2020</option>
<option value='2019'>2019</option>
</select>
</div>
</div>
);
}
export default ExpensesFilter;
这个组件是这样实现的:
import React, { useState } from 'react';
import './Expenses.css';
import ExpenseItemV3 from './ExpenseItemV3';
import Card from '../UI/Card';
import ExpenseFilter from './NewExpense/ExpensesFilter';
const Expenses = (props) => {
return (
<div>
<Card className="expenses">
<div>
<ExpenseFilter />
<ExpenseItemV3
title={props.records[0].title}
amount={props.records[0].amount}
date={props.records[0].date}>
</ExpenseItemV3>
</div>
...
到目前为止,我没有想法,非常感谢您的 cmets,非常感谢
【问题讨论】:
标签: javascript reactjs jsx onchange