reactjs - React Ionic 中的复选框
问题描述
我是 React 和 Ionic 的新手,我被复选框卡住了。我希望我的复选框在选中时为“真”,在未选中时为“假”,这样当“真”时它可以有一个线槽。
目前,当我添加一个新任务时,我被困在我的复选框中,取消选中它自己。
这是我的代码:
export const Home: React.FC = () => {
const [isChecked, setIsChecked] = useState(false);
const [checkboxList, setCheckboxList] = useState([
{ val: 'Exemple',
isChecked
}
]);
const [task, setTask] = useState('');
const addTask = () => {
checkboxList.push({val: task, isChecked});
setTask('')
}
const deleteTask = (i:any) => {
checkboxList.splice (i, 1);
setCheckboxList([...checkboxList])
}
const toggleChange = () => {
setIsChecked(!isChecked,);
}
return (
<IonPage>
<IonContent className="ion-padding">
<IonList>
{checkboxList.map(({ val, isChecked }, i) => (
<IonItem key={i}>
<IonCheckbox class= "checkbox"
slot="start"
color= "secondary"
value={val} checked={isChecked}
onIonChange={() => toggleChange}
/>
<IonLabel style={{textDecoration: isChecked ? 'line-through' : 'none'}}>{val}</IonLabel>
<IonButton onClick={e => deleteTask(i)}>
<IonIcon icon={trashOutline}></IonIcon>
</IonButton>
</IonItem>
))}
</IonList>
</IonContent>
<IonFooter>
<IonItem>
<IonInput type="text"
value= {task}
onIonChange={e => setTask(e.detail.value!)}
placeholder= "Add task"
>
</IonInput>
<IonButton onClick={addTask}>
<IonIcon icon={addCircleOutline}></IonIcon>
</IonButton>
</IonItem>
</IonFooter>
</IonPage>
);
};
export default Home;
如果有人知道如何解决这个问题,那就太好了:)
解决方案
推荐阅读
- r - r 按 Id 重新排列行
- python - 仅使用 lambda、filter、map 和 reduce 删除值的第一个实例的函数
- apache-flink - 使用 Flink 进行大型时间窗口的流连接
- php - 创建自定义字段和元框
- graphql - 通过 Role 在 User 和 Role Type 之间创建 GraphQL 连接并查询它们
- python - 在 Python 中将所需的日期格式设置为文件名
- ruby-on-rails - 如何在 Rails 应用程序中使用surveyor gem 获取公共调查网址?
- drools - Drools 规则执行挂起
- exception - Flutter:应用程序崩溃并出现运行时异常 - 已提交回复
- c# - 使用 EF 和 Postgresql 的用户定义顺序