我在一个视图中向我们提供了几个Switch Components。当我打开一个开关时,我希望所有其他开关关闭。目前,我通过状态设置布尔value
属性。这会导致突然发生变化,因为开关只是重新渲染而不是过渡。
那么你将如何以编程方式切换它们呢?
编辑2 :我刚刚发现它在Android上运行顺畅,因此它看起来像iOS特定的问题。
编辑:代码的一部分
_onSwitch = (id, switched) => {
let newFilter = { status: null };
if (!switched) {
newFilter = { status: id };
}
this.props.changeFilter(newFilter); // calls the action creator
};
_renderItem = ({ item }) => {
const switched = this.props.currentFilter === item.id; // the state mapped to a prop
return (
<ListItem
switchButton
switched={switched}
onSwitch={() => this._onSwitch(item.id, switched)}
/>
);
};