react ,变量定义方面的问题。

本人初学react,现有需求是,要在表格中实现行可编辑,需要下拉框实现autocomplate效果,代码如下图:

clipboard.png

在renderColumnsAuto函数中引用EditableCellAuto标签

clipboard.png

标签EditableCellAuto定义在class外面

clipboard.png

问题:

  1. 我是否可以将【EditableCellAuto】标签定义到class里面,如果可以应该怎么改写?
  2. 我想将【EditableCellAuto】定义到class里面的主要原因是,能够使用,一些class里面定义的方法(调用接口动态生成下拉框数据),如果,不定义到里面,怎么使用这些方法。
  3. 我不知道,这个【EditableCellAuto】叫标签还是应该叫组件,请大神推荐一些,相关语法的参考资料、博客地址,请大神赐教,感激不尽……

附上源代码

const EditableCellAuto = function({ editable, value1, onChange }) {
    return <div>
        {
            editable?<AutoComplete
            className="global-search"
            size="large"
            style={{ width: '100%' }}
            dataSource={dataSource.map(renderOption)}
            //onSelect={onSelect}
            //onSearch={this.handleSearch}
             onChange={value => onChange(value)}
            placeholder="一级类型"
            optionLabelProp="text"
            >
            </AutoComplete>
                : value1
        }
    </div>
}
    renderColumnsAuto = (text, record, column) => {
        return (
            <EditableCellAuto
                editable={record.editable}
                value1={text}
                onChange={value => this.handleChange(value, record.id, column)}
            />
        );
    }
阅读 4.4k
1 个回答

EditableCellAuto叫组件。react中都是组件
当然可以定义到class中。如果就一个class使用,就定义到class中,如果多个地方使用,就定义到外面,然后export出去。
组件之间的方法互调:
父组件调用子组件的方法,可以使用refs。子组件调用父组件的方法,直接将方法传入到子组件中,在子组件中回调就可以了。
参考资源,当然是react官方文档了。

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