当前位置:  开发笔记 > 编程语言 > 正文

反应:获取自定义复选框的选中属性

如何解决《反应:获取自定义复选框的选中属性》经验,为你挑选了1个好方法。

我想使用复选框进行一些自定义,如下所示:

所以我将自定义复选框包装到React组件中:

require('../../less/ck-checkbox.less');
var React = require('react');

var CkCheckbox = React.createClass({
  propTypes: {
    name: React.PropTypes.string,
    text: React.PropTypes.string,
    defaultChecked: React.PropTypes.bool,
    onChange: React.PropTypes.func
  },
  getDefaultProps: function() {
    return {
      name: 'checkbox',
      text: '',
      defaultChecked: false,
      onChange: function () {}
    };
  },
  render: function() {
    return (
      
); } }); module.exports = CkCheckbox;

我的容器是这样的:

var React = require('react');

var CkCheckbox = require('./CkCheckbox.js');

var Test = React.createClass({
  render: function() {
    return (
      
); }, _handleChange: function(checked, e) { console.log(checked) } }); module.exports = Test;

您可以看到,我尝试this.refs.c.checkedonChange回调中进行绑定,但是它不起作用。

因此,如何checked state在_handleChange函数的“测试”组件中获取自定义复选框的?



1> Alexander T...:

在这种情况下,您不需要使用,refs因为您可以从e参数获取checked属性

// CkCheckbox component
 

// Test component
_handleChange: function(e) {
  var checked = e.target.checked;
  console.log(checked)
}

Example

或者,如果您只想传递checked属性,则可以这样做

// CkCheckbox component
handleChange: function (e) {
  this.props.onChange(e.target.checked);
},



// in Test component 
_handleChange: function(checked) {
  console.log(checked)
}

Example

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有