我使用反应选择来过滤应用程序中的标签。 因此,每当用户输入标签时,它将根据用户输入的标签生成关键字。
让我们说我的标签是这样的:
因此,它将使用cat and fish关键字生成。
在我使用 react-select 的选择域中,标签将自动添加到我的选择域中,如下所示:
这已经在我的应用程序中完成了。
我现在想要的是,过滤用户使用selectfield输入的标签,因此,每当用户选择cat时,它只会显示cat关键字。
上面的标签是通过此函数生成的,这只是我的代码的片段:
onSubmit = tags => {
if(tags.length === 0) {
userError('Please input at least one keyword');
} else {
tags.forEach((tag) => {
const marketplace = selectedCountry.value;
apiCallRequest(marketplace, tag.value, this.userIP);
if (this.handleChange()){ // call handleChange function here
apiCallRequest(marketplace, tag.value=this.state.selectedOption, this.userIP);
alert('hello from here :)')
return onsubmit
}
});
}
}
以上功能的目的是根据用户输入的标签生成关键字。
我的反应选择代码类似于Installation and usage,这只是来自文档的示例代码:
handleChange = (selectedOption) => {
this.setState({ selectedOption });
console.log(`Option selected:`, selectedOption);
}
还有handleChange()
被 onChange 呼叫。
因此,在这种情况下,每当用户选择选择字段之一时,它将调用handleChange()
函数。
因此,我想要的是每当调用函数时,我希望onSubmit
函数也能自动进行更改。
那么,这样做是可能的吗? 我希望我的问题现在可以清除,如果没有,我将再次编辑它:)
答案 0 :(得分:1)
在浏览器(和大多数其他JavaScript主机环境)上,每个领域(全局环境和关联的固有对象等,例如与浏览器窗口关联的JavaScript环境)只有一个线程。 。假设handleChange
和onSubmit
在同一领域(我敢肯定它们在同一个领域),如果您的onSubmit
函数正在运行,则您知道handleChange
函数不在正在运行,因为handleChange
不会调用onSubmit
。当handleChange
处于“活动”状态时,onSubmit
可能是“活动”的唯一方法是将handleChange
称为onSubmit
。