React+ANTD中,InputNumber获取value时报错?求解

const EditableCell = ({editable, value, onChange}) => (
  <div>
    <InputNumber min={0} max={24} step={0.5} style={{margin: '-5px 0', width: 50, textAlign: 'center',}} value={value} onChange={e => onChange(e.target.value)} />
  </div>
);


      renderColumns(text, record, column) {
    return (
      <EditableCell
        editable={record.editable}
        value={text}
        onChange={value => this.handleChange(value, record.key, column)} //内容改变时调用handleChange方法
      />
    );
  }
  
  
 handleChange(value, key, column) {
    const newData = [...this.state.data];
    const target = newData.filter(item => key === item.key)[0];
    if (target) {
      target[column] = value; //让文本框输入即现时内容
    }
    }
    

源自antd文档表格组件部分-编辑行,原有组件是Input,我改成InputNumber就会报错。但我看了,两者都有value,为什么环成InputNumber就会报value的错呢。。。

clipboard.png

本人小白刚研究react+antd不久,还望大神耐心指点~!

阅读 7.1k
3 个回答
    <InputNumber min={0} max={24} step={0.5} style={{margin: '-5px 0', width: 50, textAlign: 'center',}} value={value} onChange={value => onChange(value)} />

InputNumber组件的文档里有个onChange事件说明,参数是表单的value值。
而Input组件的onChange事件是React原生onChange事件,参数是事件对象。

<InputNumber min={0} max={24} step={0.5} style={{margin: '-5px 0', width: 50, textAlign: 'center',}} value={value} onChange={e => onChange(e.target.value)} />

中的onChange事件参数是value

ANTD的API是这样的:

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题