在 React 的输入标签中添加状态变量值
Adding state variable values in react's input tag
class Filter extends React.Component {
constructor(props) {
super(props);
this.state = {
placeholder: true,
variableValue: '',
}
}
render() {
return (
<input placeholder={this.state.placeholder ? "select filter" : this.state.variableValue} />
)
}}
现在只要变量输入来自另一个地方定义的某个函数的状态。如果变量在状态中有一些值,我想更改占位符值。
有没有办法在一行中做到这一点
最好只使用一个状态变量,如果未设置该变量,则使用默认值。
class Filter extends React.Component {
constructor(props) {
super(props);
this.state = {
placeholder: null,
};
}
render() {
return <input placeholder={this.state.placeholder || 'select filter'} />;
}
}
我不太确定你为什么要将你的值放在占位符中,但正确的做法是:
class Filter extends React.Component {
constructor(props) {
super(props);
this.state = {
//placeholder: true,
variableValue: '',
}
this.changeValue=this.changeValue.bind(this)
}
changeValue(event){
this.setState({variableValue:event.target.value})
}
render() {
return (
<input placeholder="select filter" value={this.state.variableValue} onChange={changeValue} />
)
}}
在这里我们声明输入字段的值将是状态 variableValue
并定义一个方法来处理此输入字段中的任何更改。
class Filter extends React.Component {
constructor(props) {
super(props);
this.state = {
placeholder: true,
variableValue: '',
}
}
render() {
return (
<input placeholder={this.state.placeholder ? "select filter" : this.state.variableValue} />
)
}}
现在只要变量输入来自另一个地方定义的某个函数的状态。如果变量在状态中有一些值,我想更改占位符值。
有没有办法在一行中做到这一点
最好只使用一个状态变量,如果未设置该变量,则使用默认值。
class Filter extends React.Component {
constructor(props) {
super(props);
this.state = {
placeholder: null,
};
}
render() {
return <input placeholder={this.state.placeholder || 'select filter'} />;
}
}
我不太确定你为什么要将你的值放在占位符中,但正确的做法是:
class Filter extends React.Component {
constructor(props) {
super(props);
this.state = {
//placeholder: true,
variableValue: '',
}
this.changeValue=this.changeValue.bind(this)
}
changeValue(event){
this.setState({variableValue:event.target.value})
}
render() {
return (
<input placeholder="select filter" value={this.state.variableValue} onChange={changeValue} />
)
}}
在这里我们声明输入字段的值将是状态 variableValue
并定义一个方法来处理此输入字段中的任何更改。