javascript - 检查另一个功能是否在起作用
问题描述
我使用react-select过滤我的应用程序上的标签。因此,每当用户输入标签时,它都会根据用户输入的标签生成关键字。
假设我的标签是这样的:
因此,它将使用 cat 和 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
}
});
}
}
上述函数的目的是根据用户输入的标签生成关键字。
我的react-select代码类似于Installation and usage,这只是文档中的示例代码:
handleChange = (selectedOption) => {
this.setState({ selectedOption });
console.log(`Option selected:`, selectedOption);
}
那里甚至handleChange()
被onChange调用。
因此,在这种情况下,每当用户选择其中一个选择字段时,它都会调用该handleChange()
函数。
所以,我想要的是,每当函数调用时,我希望onSubmit
函数也自动改变它。
那么,这样做是否可行..?我希望我的问题现在更清楚,如果没有,我会再次编辑它:)
解决方案
在浏览器(和大多数其他 JavaScript 宿主环境)上,每个领域只有一个线程(全局环境和关联的内部对象等,例如与浏览器窗口关联的 JavaScript 环境)。假设handleChange
和onSubmit
在同一个领域(我确信它们是),如果你的onSubmit
函数正在运行,你知道你的handleChange
函数没有运行,因为handleChange
不调用onSubmit
. 当“活动”时,唯一handleChange
可能是“onSubmit
活动”的方法是 if handleChange
called onSubmit
。
推荐阅读
- postgresql - ILIKE字符串postgresql中的第一个单词匹配
- python - 使用 Pandas.to_csv 编写时,英镑符号在 Excel 中显示不正确
- flutter - Flutter Riverpod:第一次执行失败后如何触发FutureProvider?
- magento - 为什么 Magento 2 上的客户列表导出错误
- r - 在 geom_tile 图上粘贴平均值(R 中的 ggplot)
- admob - 如何计算点击插页式广告?admob 8 及以上版本
- r - 使用一个操作按钮更新不同 tabPanel 中的绘图
- excel - 在任何空条件的情况下具有多个条件的 Excel 过滤功能
- sql - PostgreSQL:没有事务的死锁
- java - 从 Intellij 中的文件模板调用静态方法