简介
在本实验中,我们将探索如何在React中创建一个不受控的范围输入元素,该元素允许用户通过沿水平线滑动按钮来从一系列数字中选择值。我们将使用回调函数将选定的值传递给父组件。在本实验结束时,你将更好地理解如何在React中使用 onChange
事件和 defaultValue
属性。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
在本实验中,我们将探索如何在React中创建一个不受控的范围输入元素,该元素允许用户通过沿水平线滑动按钮来从一系列数字中选择值。我们将使用回调函数将选定的值传递给父组件。在本实验结束时,你将更好地理解如何在React中使用 onChange
事件和 defaultValue
属性。
虚拟机中已提供了
index.html
和script.js
。一般来说,你只需在script.js
和style.css
中添加代码。
要在React中创建滑块,请使用 Slider
组件并传入 min
、max
、defaultValue
和 onValueChange
属性。
在 Slider
组件中,将 <input>
元素的 type
设置为 "range"
以创建滑块。使用从父组件传递下来的 defaultValue
属性作为不受控输入字段的初始值。使用 onChange
事件触发 onValueChange
回调,并将新值发送给父组件。
以下是 Slider
组件的代码:
const Slider = ({
min = 0,
max = 100,
defaultValue,
onValueChange,
...rest
}) => {
return (
<input
type="range"
min={min}
max={max}
defaultValue={defaultValue}
onChange={({ target: { value } }) => onValueChange(value)}
{...rest}
/>
);
};
要渲染 Slider
组件,请使用 ReactDOM.createRoot
并传入 onValueChange
回调函数:
ReactDOM.createRoot(document.getElementById("root")).render(
<Slider onValueChange={(val) => console.log(val)} />
);
请点击右下角的“Go Live”以在端口8080上运行Web服务。然后,你可以刷新“Web 8080”标签页以预览网页。
恭喜你!你已经完成了不受控范围输入实验。你可以在LabEx中练习更多实验来提升你的技能。