next.js 无法使用Reactjs更改下拉列表值

kzmpq1sx  于 2022-12-18  发布在  React
关注(0)|答案(3)|浏览(128)

我正在处理Reactjs/Nextjs,现在我正在尝试更改下拉列表值(处理更新模块)。
我尝试了下面的代码,但它不工作.

const Post =  function(props) {
    const [content2, setContent2] = useState('');
    }

useEffect(()=>{
    setContent2(post?.cat_name);
},[])

 <select value={post?.cat_name} className="form-control" name="cat_name" id="cat_name" onChange={(con2) => 
    {
        setContent2(con2);
    }}>
                          
 <option value="">Select Category</option>
    <option value="pined"  >Pined</option>
 </select>

任何帮助都很好。

fnvucqvd

fnvucqvd1#

使用content2作为值

value={content2}
xam8gpfp

xam8gpfp2#

在代码中,您没有正确更新select元素的值,select元素的value属性应该设置为content2状态变量的当前值,如下所示:

value={content2}

并使用onChange事件处理程序在用户选择其他选项时更新该值。

onChange={(event) => setContent2(event.target.value)}
vfh0ocws

vfh0ocws3#

可以在声明中初始化content2

const [content2, setContent2] = useState(post? post.cat_name : "");

则select中的value属性在onChange try to use事件中也应为content2

<select 
value={content2} 
className="form-control" 
name="cat_name" 
id="cat_name" 
onChange={(event) => 
{
    setContent2(event.target.value);
}}>
<option value="">Select Category</option>
<option value="pined"  >Pined</option>
</select>

相关问题