gpt4 book ai didi

javascript - 如何获取antd的refs antd componement Select值?

转载 作者:行者123 更新时间:2023-11-30 08:21:33 35 4
gpt4 key购买 nike

我尝试使用最新版本的 antd(3.10.0) 和 react(16.5.2)。

我根据https://reactjs.org/docs/refs-and-the-dom.html使用新的ref方式

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 的值。我该怎么办?

最佳答案

通过ref获取,antd select是rc-select的hoc,如果想获取值,还是通过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的值,这只是另外一个hoc~

关于javascript - 如何获取antd的refs antd componement Select值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52726243/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com