Javascript 单击按钮删除所有禁用的属性
我有一个大约有30个字段的表单。有些是输入数字字段,有些是输入文本字段,有些是文本区域,有些甚至使用货币组件字段。以下是一些字段示例:Javascript 单击按钮删除所有禁用的属性,javascript,reactjs,typescript,forms,attributes,Javascript,Reactjs,Typescript,Forms,Attributes,我有一个大约有30个字段的表单。有些是输入数字字段,有些是输入文本字段,有些是文本区域,有些甚至使用货币组件字段。以下是一些字段示例: <NumberFormat value={this.state.tax} displayType={'input'} isNumericString={true} thousandSeparator={true} decimalScale={2} prefix={'$'} className=&quo
<NumberFormat
value={this.state.tax}
displayType={'input'}
isNumericString={true}
thousandSeparator={true}
decimalScale={2}
prefix={'$'}
className="phone validate"
name="Sales Tax"
disabled
/>
<div className={`${styles.singleField} ${styles.smallField}`}>
<label>
Options
</label>
<select name="OptionList" value={this.state.OptionList} className="phone validate" disabled>
<option value="One">One</option>
<option value="Two">Two</option>
<option value="Three">Three</option>
</select>
</div>
<div className={`${styles.singleField} ${styles.largeField}`}>
<label>
Product
</label>
<input
value={this.state.product}
type="text"
className="phone validate"
name="Detailed Description"
maxLength={45}
disabled
/>
</div>
为此,您将需要使用React的状态管理。我不确定这是在类组件还是函数组件内部,但下面是如何实现所需的 此外,我建议阅读React文档中的内容 类组件:
class YourComponent扩展了React.Component{
建造师(道具){
超级(道具)
此.state={
inputsDisabled:真
}
}
render(){
返回(
…你的代码在这里
this.setState({inputsDisabled:false}}>单击我
)
}
}
功能组件:
const YourComponent = () => {
const [inputsDisabled, setInputsDisabled] = React.useState(false)
return (
...yourcodehere
<button onClick={() => this.setState({ inputsDisabled: false })}>Click Me</button>
<input disabled={inputsDisabled} />
)
}
}
constyourcomponent=()=>{
常量[inputsDisabled,setInputsDisabled]=React.useState(false)
返回(
…你的代码在这里
this.setState({inputsDisabled:false}}>单击我
)
}
}
我建议您通过禁用变量的状态来控制它:true,并绑定到表单的所有元素,当您单击按钮时,将状态更新为false。这对你来说应该很好@你能再解释一下吗?所以像这样有一个isDisabled={false}
或者?声明一个状态变量:this.state={disabled:true},然后绑定到表单元素,如。单击后,绑定处理程序:并在方法中更新状态:clickHandler(){this.setState({disabled:false}})
class YourComponent extends React.Component {
constructor(props) {
super(props)
this.state = {
inputsDisabled: true
}
}
render() {
return (
...yourcodehere
<button onClick={() => this.setState({ inputsDisabled: false })}>Click Me</button>
<input disabled={this.state.inputsDisabled} />
)
}
}
const YourComponent = () => {
const [inputsDisabled, setInputsDisabled] = React.useState(false)
return (
...yourcodehere
<button onClick={() => this.setState({ inputsDisabled: false })}>Click Me</button>
<input disabled={inputsDisabled} />
)
}
}