在 React 中更改输入的占位符
Changing the placeholder of input in React
我有 2 个搜索框。
<input type="text" class="main-input main-name" placeholder="Search" />
<Select options={searchOptions} placeholder="Search by" isSearchable/>
第二个是 Select 组件,它允许用户选择通过以下两个选项之一进行搜索:名称或位置。
第一个输入是搜索框,用户将根据 Select 中选择的选项输入特定名称或位置。我的目标是根据所选选项更改此输入的占位符。目前,占位符是搜索,但一旦用户选择名称,我希望占位符=“键入名称”,或者如果选择的是位置,则分别显示“键入位置”。
const searchOptions = [
{value: 'name', label:'Name'},
{value: 'location', label:'Location'}
];
这些是给 Select 的选项。
为了存储选择的选项,我使用了 Usestate,为其创建了函数并更新了搜索框。这就是我的代码的样子:
function Searchbox () {
const [result,setResult]=useState(searchOptions.value)
const setResultHandler = e => {
setResult(e.value);
}
return (
<input type="text" class="main-input main-name" placeholder={{result}="name" ? "Type the Name" : "Type the Location"} />
<Select options={searchOptions} onChange={setResultHandler} placeholder="Search by" isSearchable/>
这让我在更改占位符的行出现错误 - TypeError: Assignment to constant variable。
当我尝试在搜索框下方添加 {result} 时,它起作用了,我可以看到所选选项的值,因此它正确地存储了值,但它不能使用占位符。我不明白这是什么问题。
尝试这样的事情:
<input type="text" class="main-input main-name" placeholder = {result === "name" ? "Type the Name" : "Type the Location"} />
我有 2 个搜索框。
<input type="text" class="main-input main-name" placeholder="Search" />
<Select options={searchOptions} placeholder="Search by" isSearchable/>
第二个是 Select 组件,它允许用户选择通过以下两个选项之一进行搜索:名称或位置。 第一个输入是搜索框,用户将根据 Select 中选择的选项输入特定名称或位置。我的目标是根据所选选项更改此输入的占位符。目前,占位符是搜索,但一旦用户选择名称,我希望占位符=“键入名称”,或者如果选择的是位置,则分别显示“键入位置”。
const searchOptions = [
{value: 'name', label:'Name'},
{value: 'location', label:'Location'}
];
这些是给 Select 的选项。
为了存储选择的选项,我使用了 Usestate,为其创建了函数并更新了搜索框。这就是我的代码的样子:
function Searchbox () {
const [result,setResult]=useState(searchOptions.value)
const setResultHandler = e => {
setResult(e.value);
}
return (
<input type="text" class="main-input main-name" placeholder={{result}="name" ? "Type the Name" : "Type the Location"} />
<Select options={searchOptions} onChange={setResultHandler} placeholder="Search by" isSearchable/>
这让我在更改占位符的行出现错误 - TypeError: Assignment to constant variable。
当我尝试在搜索框下方添加 {result} 时,它起作用了,我可以看到所选选项的值,因此它正确地存储了值,但它不能使用占位符。我不明白这是什么问题。
尝试这样的事情:
<input type="text" class="main-input main-name" placeholder = {result === "name" ? "Type the Name" : "Type the Location"} />