首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

翻译 | 玩转 React 表单 —— 受控组件详解

原文地址:React.js Forms: Controlled Components 原文作者:Loren Stewart 译者:小 B0Y 校对者:珂珂君 本文涵盖以下受控组件: 文本输入框 数字输入框...单选框 复选框 文本域 下拉选择框 同时也包含: 表单数据的清除和重置 表单数据的提交 表单校验 点击这里直接查看示例代码。...受控文本输入框的例子倒是很丰富,但复选框、单选框、下拉选择框的例子却不尽人意。 本文列举了真实的受控表单组件示例,要是我在学习 React 的时候早点发现这些示例就好了。...这个单向循环 —— (数据)从(1)子组件输入到(2)父组件的 state,接着(3)通过 props 回到子组件,就是 React.js 应用架构中单向数据流的含义。...setName:一个字符串,用以填充每个单选或复选框的 name 属性值。 options:一个由字符串元素组成的数组,数组元素用以渲染每个单选框或复选框的值和 label 的内容。

11.4K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    React Native调试心得

    React Native旨在为开发者带来一个更好的开发体验。如果你觉得上文的加载js代码方式太low了或者不够方便,那么有没有一种更简便加载js代码的方式呢? 答案是肯定的。 ...Chrome Developer Tools Chrome 开发工具 谷歌 Chrome 开发工具,是基于谷歌浏览器内含的一套网页制作和调试工具。...如何通过 Chrome调试React Native程序 你可以通过以下步骤来调试你的React Native程序: 第一步:启动远程调试 在Developer Menu下单击”Debug JS Remotely...在输入框中,输入一个可解析为真或假的表达式。仅当条件为真时,执行会在此暂停。  ? 心得:如果你想让程序在某处从来都不要暂停,可以编辑一个条件永远为false的条件断点。...心得:你可以通过断点前的复选框来启用和禁用断点,也可以单击右键来进行更多的操作(如:移除断点,移除所有断点,启用禁用断点等)。

    5.1K70

    以 React 的方式思考

    考虑我们这个例子中需要的数据,我们有了: 产品原始列表 用户输入的搜索文本 复选框的值 过滤的产品列表 我们逐一分析,看看哪个是状态。...搜索文本和复选框的值会在应用操作过程中被改变,而且不能由其他属性或状态计算获得,看起来是状态。最后,过滤的产品列表不是状态,因为它可以经过计算原始数据列表、搜索文本和复选框的值获得。...最后,我们的状态是: 用户输入的搜索文本 复选框的值 第四步:确定状态的位置 class ProductCategoryRow extends React.Component { render()...我们根据上面的原则检视一下: ProductTable需要根据状态过滤产品,SearchBar需要显示搜索文本和复选框状态 它们共同的父部件是FilterableProductTable 过滤文本和复选框值放在...React使这个数据流清晰易懂,以便理解你的程序是如何工作的,但是它需要比传统的双向数据绑定更多的输入。 如果你尝试在当前版本的示例中键入或选中该框,则会看到React忽略了你的输入。

    3.5K30

    React UI组件库教程

    与传统的 CSS-in-JS 库不同,Headless UI 注重组件的行为和可访问性,完全由你来负责视觉样式。...Mantine UI 的组件库涵盖了多种场景下的常用组件,从基础的表单输入到复杂的布局和交互工具都应有尽有,同时提供了高度的可定制性,让开发者能够快速实现自己的设计目标。1....表单组件提供了从输入框(TextInput)、单选框(Radio)、复选框(Checkbox)到复杂表单验证工具的全套支持。...进阶组件提供了基于 Dayjs 的日期组件,基于 Recharts 的图形展示组件,基于 Tiptap 的富文本编辑器等进阶组件,能够在统一风格的前提下进一步拓展更多视觉表达场景。...三、类组件能够独立完成类组件的创建和渲染类名称也必须以大写字母开头类组件应该继承 React.Component 父类,从而使用父类中提供的方法或属性类组件必须提供 render 方法render 方法必须有返回值

    5000

    React Native开发之调试

    重载 JavaScript 在只是修改了js代码的情况下,如果要预览修改结果,你不需要重新编译你的应用。在这种情况下,你只需要告诉React Native重新加载js即可。...当你的js代码发生变化后,React Native会自动生成bundle然后传输到模拟器或手机上,是不是觉得很方便。 ?...Chrome 调试工具 Chrome 开发工具 谷歌 Chrome 开发工具,是基于谷歌浏览器内含的一套网页制作和调试工具。开发者工具允许网页开发者深入浏览器和网页应用程序的内部。...你可以通过断点前的复选框来启用和禁用断点,也可以单击右键来进行更多的操作(如:移除断点,移除所有断点,启用禁用断点等)。 ?...在输入框中,输入一个可解析为真或假的表达式。仅当条件为真时,执行会在此暂停。 ? 附:React Developer Tools插件使用

    3.9K80

    React Native调试技巧与心得

    React Native旨在为开发者带来一个更好的开发体验。如果你觉得上文的加载js代码方式太low了或者不够方便,那么有没有一种更简便加载js代码的方式呢? 答案是肯定的。...Chrome Developer Tools Chrome 开发工具 谷歌 Chrome 开发工具,是基于谷歌浏览器内含的一套网页制作和调试工具。...如何通过 Chrome调试React Native程序 你可以通过以下步骤来调试你的React Native程序: 第一步:启动远程调试 在Developer Menu下单击”Debug JS Remotely...在输入框中,输入一个可解析为真或假的表达式。仅当条件为真时,执行会在此暂停。 ? 心得:如果你想让程序在某处从来都不要暂停,可以编辑一个条件永远为false的条件断点。...心得:你可以通过断点前的复选框来启用和禁用断点,也可以单击右键来进行更多的操作(如:移除断点,移除所有断点,启用禁用断点等)。

    6.9K50

    React编程思想

    考虑我们示例应用程序中的所有数据。我们有: 产品的原始列表 用户输入的搜索文本 复选框的值 过滤的产品列表 我们来看看每一个是哪一个state。...搜索文本和复选框似乎是state,因为它们随着时间而改变,不能从任何东西计算。最后,产品的过滤列表不是state,因为它可以通过将产品的原始列表与复选框的搜索文本和值组合来计算得到。...所以最后,我们的states是: 用户输入的搜索文本 复选框的值 第四步: 确定你的state需要放置在什么地方 class ProductCategoryRow extends React.Component...React使这个数据流清晰易懂,以便理解你的程序是如何工作的,但是它需要比传统的双向数据绑定更多的输入。 如果你尝试在当前版本的示例中键入或选中该框,则会看到React忽略了你的输入。...这是故意的,因为我们已经将输入的值prop设置为始终等于从FilterableProductTable传入的state。 让我们想想我们想要发生的事情。

    3.2K50

    React编程思想

    考虑我们示例应用程序中的所有数据。我们有: 产品的原始列表 用户输入的搜索文本 复选框的值 过滤的产品列表 我们来看看每一个是哪一个state。...搜索文本和复选框似乎是state,因为它们随着时间而改变,不能从任何东西计算。最后,产品的过滤列表不是state,因为它可以通过将产品的原始列表与复选框的搜索文本和值组合来计算得到。...所以最后,我们的states是: 用户输入的搜索文本 复选框的值 第四步: 确定你的state需要放置在什么地方 class ProductCategoryRow extends React.Component...React使这个数据流清晰易懂,以便理解你的程序是如何工作的,但是它需要比传统的双向数据绑定更多的输入。 如果你尝试在当前版本的示例中键入或选中该框,则会看到React忽略了你的输入。...这是故意的,因为我们已经将输入的值prop设置为始终等于从FilterableProductTable传入的state。 让我们想想我们想要发生的事情。

    2.8K90

    React Native程序调试

    重载 JavaScript 在只是修改了js代码的情况下,如果要预览修改结果,你不需要重新编译你的应用。在这种情况下,你只需要告诉React Native重新加载js即可。...当你的js代码发生变化后,React Native会自动生成bundle然后传输到模拟器或手机上,是不是觉得很方便。 ?...Chrome 调试工具 Chrome 开发工具 谷歌 Chrome 开发工具,是基于谷歌浏览器内含的一套网页制作和调试工具。开发者工具允许网页开发者深入浏览器和网页应用程序的内部。...你可以通过断点前的复选框来启用和禁用断点,也可以单击右键来进行更多的操作(如:移除断点,移除所有断点,启用禁用断点等)。 ?...在输入框中,输入一个可解析为真或假的表达式。仅当条件为真时,执行会在此暂停。 ? 附:React Developer Tools插件使用

    3.7K60

    表单常用的控件有哪些_html表单控件样式修改

    表单特性   value属性规定输入字段的初始值;   readonly属性规定输入字段为只读(不能修改); readonly属性不需要值,它等同于readonly=“readonly”。   ...disbled属性 规定输入字段是禁用的,被禁用的元素是不可以用和不可以点击的,被禁用的元素不会被提交。...没有属性值   size属性规定输入字段的尺寸(以字符计);   maxlength属性规定输入字段允许的最大长度;该属性不会提供任何反馈。...重置按钮会清除表单中的所有数据 submit 定义提交按钮。提交按钮会把表单数据发送到服务器 text 定义单行的输入字段,用户可在其中输入文本,默认宽度为20个字符。...网页的url search搜索引擎 ——chrome下输入文字后,会多出一个关闭的x range 特定范围内的数值选择器 min,max,step(步数) 例如:用js显示当前数值

    3.9K20

    认识基本的mfc控件

    编辑框控件:编辑框是用来让用户输入程序所需信息的工具。编辑框只接受纯文本,也不提供格式。 命令按钮控件:如果用户按下命令按钮将触发一些操作。...复选框用来打开或者关闭某一个特定的值,除了基本的打开和关闭开关外,还有第三种状态,一种中间态。   单选按钮控件:单选按钮是个圆圈用户可以通过单击在其中添加一个黑点。...使用组合框提供一系列的选择,用户可以从中选取一个值。有时用户可以在提供的列表满足要求时直接输入一个值。   每个控件都有属性的,用来对这个控件进行说明。下面列出基本的属性,每个控件框都有的。...ID:标识控件,改变ID属性以便识别并且与其他控件互动 Caption:指明显示在控件上的文本 Visible:表明在程序运行时控件是否可见 Disanled:表明是否禁用控件。...如果禁用会让Caption中的文本只显示轮廓或者像是对话框表面上的凹痕。 Tab Stop:表明当用户使用tab键在对话框中移动时,这个控件是否被选中。

    3.4K20

    html标签详解

    input系列标签,比如文本字段、复选框、单选框、提交按钮等等。...input系列 type属性值 表现形式 对应代码 text 单行输入文本 password 密码输入框 ...:可点击的按钮,没有任何行为,一般配合JS使用 hidden:对用户不可见,通常用于修改某条数据时,记录数据的id值 file:提交文件  form表单需要加上enctype="multipart/form-data..."时,为按钮上显示的文本年内容 type="text","password","hidden"时,为输入框的初始值 type="checkbox", "radio", "file",为输入相关联的值 checked...:radio和checkbox默认被选中的项 readonly:text和password设置只读 disabled:禁用模式(输入框显示灰色),所有input均适用 当type=text的时候,可以设置输入框的默认值

    2.6K110

    前端问题汇总

    如何让input文本框和图片对齐 在默认情况下,input文本框和图片无法自然对齐,总会有所偏差,文本框往往会比图片要往下边一点,只要给元素添加vertical-align:bottom即可令两者底部水平对齐...-- 所有浏览器都支持的一个css属性 --> opacity: 0.5; 如何通过选中文字来勾选/取消复选框 想要在选中文字的时候就自动勾选或取消复选框,有两种实现的方式: 方式一:在复选框的外边包上...如何屏蔽双击选中文本 IE浏览器可以通过在某个标签里添加onselectstart="return false"来屏蔽双击选中文本,该属性在火狐中无效,火狐需要用style="-moz-user-select...该属性支持的值如下: clip:默认值,将溢出的文本裁减掉 ellipsis:将溢出的文本用省略号(…)来表示 :设置一个字符串用来表示溢出的文本 兼容性上,除了外,其余两个属性兼容到了...*/ -webkit-box-orient: vertical; /*设置文本排列方式*/ JS文件中的中文在网页上显示为乱码 如果页面已经设置了,JS文件里的中文在网页上仍然显示为乱码

    2.5K20
    领券