禁用 React 中的按钮
使用禁用属性禁用 React 中的按钮。
我们可以使用相关属性,根据输入字段或其他变量的值有条件地禁用按钮,或者防止多次单击按钮。
import {useState} from 'react'; export default function App() { const [message, setMessage] = useState(''); const isAnonymous = true; const handleClick = event => { event.currentTarget.disabled = true; console.log('button clicked'); }; return ( <div> {/* ✅ 输入为空时禁用按钮 */} <div> <input type="text" id="message" name="message" value={message} onChange={event => setMessage(event.target.value)} /> <button disabled={!message}>Click</button> </div> <hr /> {/* ✅ 禁用按钮 */} <button disabled={true}>Click</button> <hr /> {/* ✅ 有条件地禁用按钮 */} <button disabled={isAnonymous ? true : false}>Click</button> <hr /> {/* ✅ 单击一次按钮后禁用该按钮 */} <button onClick={handleClick}>Click</button> </div> ); }
效果如下:
我们在按钮元素上设置了一个 onClick 事件。单击按钮后,将调用 handleClick 函数。
我们在事件上使用 currentTarget 属性来获取对按钮的引用,并将其 disabled 属性设置为 true。
事件的 currentTarget 属性使我们能够访问事件侦听器所附加的元素。
而事件的目标属性为我们提供了触发事件的元素的引用(可以是子元素)。