作者:tha1es | 来源:互联网 | 2023-05-23 17:48
我有一组两个单选按钮,其中一个在加载页面时被检查.看来我无法将其改为第二个.如果重要的话,HTML由reactjs构建.chrome上的标记看起来像:
skip405..
17
更新
"做出反应的方式"是添加defaultChecked={true}
到所需的输入.其他方式如下.
我实际上遇到了同样的情况.我所做的是在父React组件input
的componentDidMount
生命周期方法中找到标记checked
然后设置属性.
如果我们谈论vanilla JS,您可以使用querySelector找到第一个无线电输入.像这样:
var Form = React.createClass({
componentDidMount: function(){
this.getDOMNode().querySelector('[type="radio"]').checked = "checked";
},
render: function(){
//your render here
}
});
如果你使用jQuery,这可以这样做:
...
$(this.getDOMNode()).find('[type="radio"]').eq(0).prop("checked", true);
...
小智..
5
我曾经有类似的问题.
使用defaultChecked
prop(仅用于)首次渲染,并提供onChange
处理值更改的函数.
我在input
这里找到了一个非常好的不同类型的例子:http://bl.ocks.org/insin/raw/082c0d88f6290a0ea4c7/
1> skip405..:
更新
"做出反应的方式"是添加defaultChecked={true}
到所需的输入.其他方式如下.
我实际上遇到了同样的情况.我所做的是在父React组件input
的componentDidMount
生命周期方法中找到标记checked
然后设置属性.
如果我们谈论vanilla JS,您可以使用querySelector找到第一个无线电输入.像这样:
var Form = React.createClass({
componentDidMount: function(){
this.getDOMNode().querySelector('[type="radio"]').checked = "checked";
},
render: function(){
//your render here
}
});
如果你使用jQuery,这可以这样做:
...
$(this.getDOMNode()).find('[type="radio"]').eq(0).prop("checked", true);
...
此外,我在另一个线程中找到了一个更好的解决方案(http://stackoverflow.com/questions/27750864/conditionally-setting-html-attributes-in-react-js).在所需的输入上简单地说"defaultChecked = {true}"可以做出所需的"反应方式"
2> 小智..:
我曾经有类似的问题.
使用defaultChecked
prop(仅用于)首次渲染,并提供onChange
处理值更改的函数.
我在input
这里找到了一个非常好的不同类型的例子:http://bl.ocks.org/insin/raw/082c0d88f6290a0ea4c7/