Javascript 如何在不使用reactjs中的引用的情况下重置字段的值?
我是一个新的反应,我认为这是一个愚蠢的问题问,但太 我有一个文本字段的通用输入组件,其中我没有传递引用,我想在单击按钮时重置文本字段的值?是否可以在单击时清除字段值而不传递引用Javascript 如何在不使用reactjs中的引用的情况下重置字段的值?,javascript,reactjs,Javascript,Reactjs,我是一个新的反应,我认为这是一个愚蠢的问题问,但太 我有一个文本字段的通用输入组件,其中我没有传递引用,我想在单击按钮时重置文本字段的值?是否可以在单击时清除字段值而不传递引用 handleClick : function(change){ change.preventDefault(); var self=this; if(this.state.newpwd === this.state.cfmpass){ var pass = {"pwd":self.state.newpwd}; v
handleClick : function(change){
change.preventDefault();
var self=this;
if(this.state.newpwd === this.state.cfmpass){
var pass = {"pwd":self.state.newpwd};
var url = "xyz"
Request.PatchRequest(url,pass,function(response){
self.setState({
authMsg : JSON.parse(response.response).data
});
现在如何清除此处的字段值??
<TextBox type="password"
name="password"
placeholder="Enter new password"
onChange={this.changePwd} />
这是我的按钮,我想在上面执行检查(我已经完成了),在响应之后,我想清除字段值
<Button type="button"
value="Change"
onClick={this.handleClick}/>
文本框是我的通用组件。。
任何帮助都将非常感激。
提前感谢:)您需要一个组件道具,该道具使用
onChange
功能“控制”输入值。您需要执行以下步骤:
- 在构造函数方法中添加输入值初始状态,大多数情况下使用空字符串
- 使onChange函数为该值设置一个新状态
- 不要忘记在构造函数中绑定你的函数
constructor() {
this.state: {
value: ''
this.changePwd = this.changePwd.bind(this)
}
changePwd(event) {
this.setState({ value: event.target.value })
}
<TextBox
type="password"
name="password"
placeholder="Enter new password"
value={this.state.value}
onChange={this.changePwd}
/>
constructor(){
该州:{
值:“”
this.changePwd=this.changePwd.bind(this)
}
更改PWD(事件){
this.setState({value:event.target.value})
}
您需要一个组件的道具,该道具使用onChange
功能“控制”输入值。您需要执行以下步骤:
- 在构造函数方法中添加输入值初始状态,大多数情况下使用空字符串
- 使onChange函数为该值设置一个新状态
- 不要忘记在构造函数中绑定你的函数
constructor() {
this.state: {
value: ''
this.changePwd = this.changePwd.bind(this)
}
changePwd(event) {
this.setState({ value: event.target.value })
}
<TextBox
type="password"
name="password"
placeholder="Enter new password"
value={this.state.value}
onChange={this.changePwd}
/>
constructor(){
该州:{
值:“”
this.changePwd=this.changePwd.bind(this)
}
更改PWD(事件){
this.setState({value:event.target.value})
}
这种方法假设父组件(同时包含textarea和按钮的组件)正在维护textarea的状态(在本例中,这就是实现该状态的方法)
//组件中的某个位置(可能是容器组件)
重置(){
this.setState({value:'});
}
onChange(e){
this.setState({value:e.target.value});
}
//渲染
重置
编辑根据更新的问题进行更新
constructor(props) {
super(props);
this.change = this.change.bind(this);
this.inputOnChange = this.inputOnChange.bind(this);
}
change(e) {
e.preventDefault();
if(this.state.newpwd === this.state.cfmpass) {
var pass = {
"pwd": this.state.newpwd
};
var url = "xyz";
Request.PatchRequest(url, pass, (response) => {
this.setState({
authMsg : JSON.parse(response.response).data,
value: '',
});
});
}
inputOnChange(e) {
this.setState({ value: e.target.value });
}
// render
render() {
return (
<TextBox
type="password"
name="password"
placeholder="Enter new password"
onChange={this.inputOnChange}
value={this.state.value}
/>
<button onClick={this.change}>Change</button>
);
}
构造函数(道具){
超级(道具);
this.change=this.change.bind(this);
this.inputOnChange=this.inputOnChange.bind(this);
}
更改(e){
e、 预防默认值();
if(this.state.newpwd==this.state.cfmpass){
var pass={
“pwd”:this.state.newpwd
};
var url=“xyz”;
请求.补丁请求(url,通过,(响应)=>{
这是我的国家({
authMsg:JSON.parse(response.response).data,
值:“”,
});
});
}
输入更改(e){
this.setState({value:e.target.value});
}
//渲染
render(){
报税表(
改变
);
}
这种方法假设父组件(同时包含textarea和按钮的组件)正在维护textarea的状态(在本例中,这就是实现该状态的方法)
//组件中的某个位置(可能是容器组件)
重置(){
this.setState({value:'});
}
onChange(e){
this.setState({value:e.target.value});
}
//渲染
重置
编辑根据更新的问题进行更新
constructor(props) {
super(props);
this.change = this.change.bind(this);
this.inputOnChange = this.inputOnChange.bind(this);
}
change(e) {
e.preventDefault();
if(this.state.newpwd === this.state.cfmpass) {
var pass = {
"pwd": this.state.newpwd
};
var url = "xyz";
Request.PatchRequest(url, pass, (response) => {
this.setState({
authMsg : JSON.parse(response.response).data,
value: '',
});
});
}
inputOnChange(e) {
this.setState({ value: e.target.value });
}
// render
render() {
return (
<TextBox
type="password"
name="password"
placeholder="Enter new password"
onChange={this.inputOnChange}
value={this.state.value}
/>
<button onClick={this.change}>Change</button>
);
}
构造函数(道具){
超级(道具);
this.change=this.change.bind(this);
this.inputOnChange=this.inputOnChange.bind(this);
}
更改(e){
e、 预防默认值();
if(this.state.newpwd==this.state.cfmpass){
var pass={
“pwd”:this.state.newpwd
};
var url=“xyz”;
请求.补丁请求(url,通过,(响应)=>{
这是我的国家({
authMsg:JSON.parse(response.response).data,
值:“”,
});
});
}
输入更改(e){
this.setState({value:e.target.value});
}
//渲染
render(){
报税表(
改变
);
}
yeah明白了..但在你的重置按钮上,我想确认密码和当前密码是否匹配..如果匹配,我将显示我的post请求的响应,然后我想清除输入字段值明白了..从这个意义上说,这回答了你的问题?你提到你想在后面清除该字段吗呃回答,什么回答?再次检查问题我更新了它以便更好地理解。回答是指api响应根据您的新问题更新。是的,我得到了。但是在您的重置按钮上,我想确认密码和当前密码是否匹配。如果匹配,我将显示我的post请求的响应在那之后我想清除输入字段值明白了吗..从这个意义上说,这回答了你的问题?你提到你想在回答后清除字段,什么回答?再次检查问题我更新了它以更好地理解..回答是指api响应根据你的新问题更新