我想允许我的用户基于输入,复选框或日期选择器下载报告。
FirebaseFirestore.getInstance().collection("someData").get().addOnCompleteListener(task -> {
if (task.isSuccessful()) {
for (final QueryDocumentSnapshot document : task.getResult()) {
//extract data
}
} else {
Log.w(TAG, "Error getting documents.", task.getException());
}
});
我有一个/ api / report / name的链接,但是我找不到如何使用输入值动态更改搜索查询的方法。
我想两个想法: 1)如果我的用户在输入中输入“ ngos”,则查询应为api / report / name?name = input 2)如果输入为空,则查询应为api / report / name
答案 0 :(得分:1)
您可以声明一个包含pathname属性的对象。 输入不是空字符串时,可以为此对象设置搜索字段。
最后,可以将对象作为to
组件中的Link
属性值进行传递。
const Report = (props) => {
const [input, setInput] = useState('');
const testObject1 = {
name: input,
}
const to = {
pathname: 'api/report/name'
}
if (input !== '') {
to['search'] = queryString.stringify(testObject1)
}
return (
<div>
<input value={input} onInput={e => setInput(e.target.value)} />
<Link
to={to}
>
Download {props.type} report
</Link>
</div>
);
};