问题描述
我有一个里面列出了复选框的平面列表。我面临的问题是我似乎无法取消选中复选框。我认为这与状态或索引有关,但我似乎找不到解决方法。有其他人遇到过这个问题吗?
const [finalFilter,setFinalFilter] = useState(props.finalFilter);
return (
<TouchableOpacity
activeOpacity={0.85}
onPress={props.onPress}
>
<Sview flex={1}>
<FlatList
data={props.value.subData}
renderItem={({ item,index,separators }) =>
renderItem(props.value.title,item,index)
}
keyExtractor={item => item.toString()}
/>
</Sview>
</TouchableOpacity>
);
const renderItem = (topData,subData,index) => {
let checked = false;
const match = props.finalFilter.some(e => e.subFilter === subData);
if (props.finalFilter && match) {
checked = true;
}
return (
<Sview paddingTop={10} paddingBottom={10}>
<CheckBox
checked={checked}
onChange={() => searchedindex(topData,index)}
>
<Stext>{subData}</Stext>
</CheckBox>
</Sview>
);
};
const searchedindex = (topFilter,subFilter,index) => {
setFinalFilter({ topFilter,index });
props.searchIndex({ topFilter,index }); //this is setting the final filter
};
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)