javascript - 过滤低值余额并隐藏空复选框
问题描述
我正在使用 React + Typescript。我想请你帮忙过滤。我有两个过滤器
隐藏低价值账户
隐藏空账户
用户设置为道具的低值<“thresholdLowValue”,用户可以将此阈值定义为例如数字3。并过滤隐藏空帐户<0。选中复选框后过滤有效,但在一种情况下,隐藏空帐户过滤器会覆盖隐藏低值帐户过滤器。
组合检查后= true:隐藏低价值的帐户&&隐藏空帐户=仅隐藏空帐户有效。
const [preparedItems, setPreparedItems] = useState(items);
const [checkboxState, setCheckboxState] = React.useState({
lowValue: false,
emptyValue: false
});
const filterChange = (value): void => {
if (value.lowValue) {
setPreparedItems(
items.filter(item => item.balance >= (thresholdLowValue || 0))
);
} else {
if (value.emptyValue) {
setPreparedItems(items.filter(item => item.balance > 0));
} else {
setPreparedItems(items);
}
}
};
const handleChange = (event: React.ChangeEvent<HTMLInputElement>): void => {
event.stopPropagation();
filterChange({[event.target.name]: event.target.checked})
setCheckboxState({
...checkboxState,
[event.target.name]: event.target.checked
})
};
<FormGroup>
<FormControlLabel
control={(
<Checkbox
checked={checkboxState.lowValue}
onChange={handleChange}
name="lowValue"
color="primary"
/>
)}
label="Hide accounts with low value"
/>
<FormControlLabel
control={(
<Checkbox
checked={checkboxState.emptyValue}
disableRipple
onChange={handleChange}
name="emptyValue"
color="primary"
/>
)}
label="Hide empty account"
/>
</FormGroup>
你能帮我解决这个问题吗?也许你有更好的解决方案?
解决方案
推荐阅读
- algorithm - 选择满足条件的子集的算法
- python - 如何访问在 AWS Cloud9 中启动的 python django 开发服务器
- xml - 标准化 XML 中标签顺序的工具
- c# - 在运行时更改 app.config 会使实体框架感到困惑
- javascript - 无法在 php 文件中调用 javascript 函数(Laravel)
- android - 如何在 ConstraintLayout 中包装内容或“填充可用空间”
- angular - 在控制台中打印角度请求选项,但未在实际请求中发送
- reactjs - React Native 反应导航 redux 处理 Android 后退按钮
- asp.net-core - IdentityServer4 具有 LDAP/AD 身份验证,无 UI
- ios - 底部锚点iOS的UITextView问题