鍍金池/ 問答/Java  HTML/ react ,變量定義方面的問題。

react ,變量定義方面的問題。

本人初學(xué)react,現(xiàn)有需求是,要在表格中實現(xiàn)行可編輯,需要下拉框?qū)崿F(xiàn)autocomplate效果,代碼如下圖:

clipboard.png

在renderColumnsAuto函數(shù)中引用EditableCellAuto標(biāo)簽

clipboard.png

標(biāo)簽EditableCellAuto定義在class外面

clipboard.png

問題:

  1. 我是否可以將【EditableCellAuto】標(biāo)簽定義到class里面,如果可以應(yīng)該怎么改寫?
  2. 我想將【EditableCellAuto】定義到class里面的主要原因是,能夠使用,一些class里面定義的方法(調(diào)用接口動態(tài)生成下拉框數(shù)據(jù)),如果,不定義到里面,怎么使用這些方法。
  3. 我不知道,這個【EditableCellAuto】叫標(biāo)簽還是應(yīng)該叫組件,請大神推薦一些,相關(guān)語法的參考資料、博客地址,請大神賜教,感激不盡……

附上源代碼

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)}
            />
        );
    }
回答
編輯回答
愛是癌

EditableCellAuto叫組件。react中都是組件
當(dāng)然可以定義到class中。如果就一個class使用,就定義到class中,如果多個地方使用,就定義到外面,然后export出去。
組件之間的方法互調(diào):
父組件調(diào)用子組件的方法,可以使用refs。子組件調(diào)用父組件的方法,直接將方法傳入到子組件中,在子組件中回調(diào)就可以了。
參考資源,當(dāng)然是react官方文檔了。

2017年10月20日 22:44