Как get refs antd componement Выберите значение antd? - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь использовать последнюю версию antd (3.10.0) и реагировать (16.5.2).

Я использую новый способ ссылки в соответствии с https://reactjs.org/docs/refs-and-the-dom.html

this.myRef = React.createRef();

когда он рендеринг , должен выглядеть так:

rend(){
                    <Select style={{ width: 200 }} ref={this.myRef}>
                    {Object.entries(this.state.catedict)
                        .map(en => <Option key={en[0]}>{en[1]}</Option>)}
                </Select>
}

Но когда я хочу получить значение Input или Select

, я пытаюсь:

console.log(this.myRef.current.value);

Но только получитьневерный результат.

Я нахожу четное:

console.log(this.myRef.current);

результат:

t {props: {…}, context: {…}, refs: {…}, updater: {…}, saveSelect: ƒ, …}
context: {}
props: {style: {…}, children: Array(2), prefixCls: "ant-select", showSearch: false, transitionName: "slide-up", …}
rcSelect: t {props: {…}, context: {…}, refs: {…}, updater: {…}, onInputChange: ƒ, …}
refs: {}
renderSelect: ƒ (n)
saveSelect: ƒ (n)
state: null
updater: {isMounted: ƒ, enqueueSetState: ƒ, enqueueReplaceState: ƒ, enqueueForceUpdate: ƒ}
_reactInternalFiber: Na {tag: 2, key: null, type: ƒ, stateNode: t, return: Na, …}
__proto__: v

Я хочу дать значение Select.Как мне быть?

Ответы [ 2 ]

0 голосов
/ 16 марта 2019

Вы можете получить его по ссылке, и выбор аргумента antd будет hc из rc-select, если вы хотите получить значение, вы все равно получите его по ref.rcSelect

`the react dom`
<Select ref={r => this.ctryListRef = r} />

`the js code`
console.log(this.ctryListRef.rcSelect.state.value)

с помощью rcSelect.State.value, вы можете получить значение.

Кроме того, вы можете получить значение antd textArea, это просто еще один раз ~

0 голосов
/ 21 октября 2018

сохранить значение Select при каждом изменении!и используйте его, когда хотите.

<Select style={{ width: 200 }} onChange={(value)=>{
    this.selectValue = value;
}}>

и используйте его в другом месте:

console.log('Select Value', this.selectValue)
...