我有一个复选框,其中有一对项目,当我单击该复选框时,该项目将添加到名为currentDevice的状态,但当我取消选中该项目时,它将保留“添加项目”,而不是删除它。
当我取消选中该框时,如何从状态中删除项。Im使用“反应本机元素”复选框。谢谢你
代码:
constructor(props) {
super(props)
this.state = {
currentDevice: [],
checked: []
}
}
handleChange = (index, item) => {
let checked = [...this.state.checked];
checked[index] = !checked[index];
this.setState({ checked });
this.setState({currentDevice: [...this.state.currentDevice, item.bcakId]})
}
renderFlatListDevices = (item, index) => {
return (
<ScrollView>
<CheckBox
title={item.label || item.bcakId}
checked={this.state.checked[index]}
onPress={() => {this.handleChange(index, item)}}
checkedIcon='dot-circle-o'
uncheckedIcon='circle-o'
checkedColor='#FFE03A'
containerStyle={styles.containerCheckBox}
textStyle={styles.textCheckBox}
/>
</ScrollView>
)
}
我找到了解决方案,这里是代码:
handleChange = (index, item) => {
let checked = [...this.state.checked];
checked[index] = !checked[index];
this.setState({ checked });
this.setState(previous => {
let currentDevice = previous.currentDevice;
let index = currentDevice.indexOf(item.bcakId)
if (index === -1) {
currentDevice.push(item.bcakId)
} else {
currentDevice.splice(index, 1)
}
return { currentDevice }
}, () => console.log(this.state.currentDevice));
}
信用:向数组中添加选中的复选框并删除未选中的复选框-react native
将handleChange方法更改为
const handleChange = (index, item) => {
const {currentDevice, checked} = state;
const found = currentDevice.some((data) => data === item.bcakId);
if (found) {
currentDevice.splice(
currentDevice.findIndex((data) => data === item.bcakId),
1
);
} else {
currentDevice.push(item.bcakId);
}
checked[index] = !checked[index];
this.setState({
currentDevice,
checked,
})
};
问题内容: 如何从选择框中删除项目或向其中添加项目?我正在运行jQuery,这应该使任务更轻松。下面是一个示例选择框。 问题答案: 删除一个选项: 添加一个选项:
问题内容: 谁能告诉我从我删除所选项目的简便方法? 我在Google和此处进行了搜索,但发现了很多方法。我应该使用哪种方式? 问题答案: 正如@Andreas_D所说,以数据为中心,更抽象的ListModel是解决方案。这可以是DefaultListModel。您应该在JList中显式设置模型。所以(感谢@kleopatra发表评论): DefaultListModel中有几种方法。 顺便说一句,
我有一个Windows Phone应用程序,其中一个ListPicker绑定到一个ObservableCollection和一个选定的项目: 在ViewModel中: 当我试图从按钮处理程序的列表中删除所选项目时,我得到一个InvalidOperationException(SelectedItem必须始终设置为有效值): 我希望将SseltedCon条件设置为null(这实际上是列表中的第一个项
我正在尝试一个Woocommerce票证插件。默认情况下,该插件会显示一个表,其中包含多个票证变体作为产品,并在下面显示一个文本字段作为其数量和一个提交按钮,以将产品添加到购物车中。 我想用单选按钮或复选框替换这个文本字段,这样用户就可以选择一种类型的票证,然后点击提交按钮将其中的一部分添加到购物车中。 我的想法是在foreach循环中创建一个复选框或单选按钮,该复选框或单选按钮的值为quanti
我有一个片段,其中有一个旋转器和复选框。 布局文件need_help_fragment_layout.xml: 代码片段: 颜色代码: 如果未选择任何内容,则可以: 从微调器中选择项目时,复选框将消失: 布局文件中没有其他内容。只有约束布局以及复选框和微调器的指南。微调器和复选框在片段的onCreateView中初始化。当我从微调器中选择任何项目时,复选框将消失。请帮助。
下载整个项目。zip在这里 此问题的代码在Views文件夹中的CreateSchedule.aspx文件中。 以下是GridView的ASP.NET: 在取消选中某个框后调试事件时,网页上的复选框显示为未选中,但的值为true,即使该复选框在网页上显示为未选中。(chkRow是未选中的复选框) 更新3 我取得了一些突破。我发现复选框的问题在于嵌套的gridview位于使用JavaScript折叠和