如何设置输入组件的默认值?
ReactJS: How do I set the default value for input components?
在使用输入字段的默认值时,如何绕过带有props状态的反模式?
呈现表单时,它应该包含一些默认值。当我设置一些值并关闭表单然后重新打开表单时,我希望显示默认值,而不是先前输入的值…
但是当我让state继承props的值时,props将永远改变。我还没有找到一个方法来绕过这个
如果您查看默认的input
组件,或者来自react-bootstrap
的输入,或者大多数DatePickers
和Selects
在互联网上,您将看到它们中的大多数都有一个value
prop,并且它们中的大多数将很少或无状态,至少当涉及到所选值时。
一个input
意味着uncontrolled
,这意味着他们最好没有状态,只是接收作为道具的值,以及当值改变时他们应该调用的回调。这取决于他们上面的controller-view
,观察这些事件并改变模型。有时候,输入也可以方便地将值保持在状态中,但它们只能在尊重作为prop传递的新值时才能这样做,因为状态在呈现器中持续存在,getInitialState
只被调用一次。参见:ReactJS:为什么将组件初始状态传递为prop是反模式?
然而,因为controller-view
处理所有这些值变化太麻烦了,React提供了一个名为ReactLink的实用程序,简单地说,它是一种自动将input
绑定到controller-view
状态下的属性的方法。示例:您可以将input
绑定到模型的属性DateOfBirth
,这是controller-view
状态的一部分。
现在回到你的问题,你实际上不传递默认值,你传递值本身,作为一个prop。controller-view
应该决定它是什么。DateOfBirth
字段的值是多少?没有一个吗?好的,我将传递默认值为value
prop
- 我的shareService在angular 2中发送值工作正常,但当我渲染我的另一个组件时,会获得默认值
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- 如果值为空,如何设置输入的默认值?jQuery
- 骨干模型默认值-todos.js示例中不必要的代码
- jquery日期选择器年份范围默认值
- Html5输入属性的默认值,如最小值、最大值、大小等
- 根据两个下拉列表的默认值禁用按钮
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- Angularjs-设置不带ng选项的select的默认值
- jQuery Datepicker从日期开始设置默认值
- 如何设置浏览器打开的文件对话框的文件名(一些默认值)
- JQuery BlockUI鼠标加载光标没有't在Google Chrome中返回默认值
- Selectize选择默认值
- 在KeystoneJS中为Types.Money设置默认值
- 是否可以同时为一个元素的所有事件指定阻止默认值
- 防止在IE7中按回车键时出现默认值
- 如何覆盖jqGrid's语言默认值
- 如何为显示jquery滑块值的文本框设置默认值
- toggleProperty将组件的所有属性设置为默认值
- 如何设置输入组件的默认值?