React表单中的输入值不可编辑的情况通常有两种解决方案:
示例代码:
import React, { useState } from 'react';
function MyForm() {
const [inputValue, setInputValue] = useState('initial value');
const handleChange = (event) => {
setInputValue(event.target.value);
};
return (
<form>
<input type="text" value={inputValue} onChange={handleChange} disabled />
</form>
);
}
在这个例子中,input元素的value属性被设置为inputValue变量的值,而onChange事件处理函数handleChange会更新inputValue的值。通过将input元素的disabled属性设置为true,输入框将变为不可编辑状态。
示例代码:
import React, { useRef } from 'react';
function MyForm() {
const inputRef = useRef(null);
const handleClick = () => {
inputRef.current.readOnly = true;
};
return (
<form>
<input type="text" ref={inputRef} />
<button onClick={handleClick}>Make Input Readonly</button>
</form>
);
}
在这个例子中,input元素通过ref属性与inputRef关联起来。当点击按钮时,handleClick事件处理函数会将input元素的readOnly属性设置为true,使输入框变为不可编辑状态。
以上是两种常见的解决方案,根据具体情况选择适合的方法。
领取专属 10元无门槛券
手把手带您无忧上云