本文介绍了如何在 reactjs 中使用 this.refs 从输入类型中获取值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

无法使用 this.refs 获取输入类型的值...如何从输入类型中获取该值

 导出类 BusinessDetailsForm extends Component {提交表单(数据){控制台日志(this.refs.googleInput.value)}}红人(){返回(<form onSubmit={this.submitForm}><字段类型="文本"名称=位置"组件={GoogleAutoComplete}id="地址搜索框字段"参考 =谷歌输入"/></表单>)}}
解决方案

你应该避免 ref="googleInput" 因为它现在被认为是遗留的.你应该声明

ref={(googleInput) =>{ this.googleInput = googleInput }}

在处理程序内部,您可以使用 this.googleInput 来引用元素.

然后在您的 submitForm 函数内部,您可以使用this.googleInput._getText()

字符串引用是遗留的https://facebook.github.io/react/docs/refs-and-the-dom.html

如果您之前使用过 React,您可能熟悉旧 API,其中 ref 属性是一个字符串,如textInput",并且 DOM 节点作为 this.refs.textInput 访问.我们建议不要这样做,因为字符串引用存在一些问题,被认为是遗留的,并且可能会在未来版本之一中被删除.如果您当前正在使用 this.refs.textInput 来访问 refs,我们建议您改用回调模式.

编辑

React 16.3 开始,创建 refs 的格式是:

class Component 扩展了 React.Component{构造函数(){this.googleInput = React.createRef();}使成为(){返回(<div ref={this.googleInput}>{/* 细节 */}

);}}

Not able to get values of input type using this.refs...how to get that values from input type

   export class BusinessDetailsForm extends Component {
      submitForm(data) {
        console.log(this.refs.googleInput.value)
        }
      }
      reder() {
        return(
          <form onSubmit={this.submitForm}>
            <Field type="text"
              name="location"
              component={GoogleAutoComplete}
              id="addressSearchBoxField"
              ref="googleInput"
            />
          </form>
        )
      }
    }
解决方案

You should avoid ref="googleInput" as it is now considered legacy. You should instead declare

ref={(googleInput) => { this.googleInput = googleInput }}

Inside of your handler, you can use this.googleInput to reference the element.

Then inside of your submitForm function, you can obtain the text value withthis.googleInput._getText()

String refs are legacyhttps://facebook.github.io/react/docs/refs-and-the-dom.html

Edit

From React 16.3, the format for creating refs are:

class Component extends React.Component 
{
        constructor() 
        {
            this.googleInput = React.createRef();
        }

        render() 
        {
            return 
            (
                <div ref={this.googleInput}>
                    {/* Details */}
                </div>
            );
        }
    }

这篇关于如何在 reactjs 中使用 this.refs 从输入类型中获取值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-23 21:50