javascript - 如何预填充搜索栏并让用户更改值?
问题描述
我有一个简单的搜索栏,我想用一些数据预先填充它。我试过使用value但它不允许用户之后更改搜索栏中的值。
<input type="search" class="navBarSearchForm3 form-control rounded searchterm2" placeholder="search term" value={comparelinks}></input>
我希望搜索栏已经有一个值并让用户能够更改它。我需要一些 JS 还是可以只用 HTML 来完成?
解决方案
您缺少更改的句柄。因此,当用户更改输入内容时,您需要编辑该值:
在这种情况下,我会使用 React Hooks (useState) 来设置一个默认值并能够更改它。
最后,在用户输入时使用 seCompareLinks onChange
。
你可以看到它在这里工作:https ://codesandbox.io/s/practical-dewdney-wj7j2?file=/src/App.js:0-543
import React from 'react';
import "./styles.css";
export default function App() {
const [comparelinks, setComparelinks] = React.useState('default value');
const handleChange = (e) => {
setComparelinks(e.target.value);
}
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
<input type="search" class="navBarSearchForm3 form-control rounded searchterm2" placeholder="search term" value={comparelinks} onChange={handleChange}></input>
</div>
);
}
推荐阅读
- excel - Excel VBA字典-如何获取单元格中重复键的项目值?
- python - Windows application using python and c++
- java - 从回收站视图中获取 edittext 值
- python - 使用python将txt文件列表转换为csv文件列表
- mysql - 在 MySql 中自动增加主键
- c# - 响应不是 Unit.Value 的 MediatR 命令引发错误
- functional-programming - 5s 时间窗口内 Stream 中的记录数
- turtle-graphics - 如何让turtle.onscreeenclick() 返回真或假答案
- azure - 如何在 Microsoft Azure 流分析上从多个设备中分离数据
- ssl - TL-Schema - 如何获取私有频道的 access_hash?