我有一个看法
for ((i = 0; i < ${#varA[@]}; ++i)); do
var3[i]="${varA[i]}:::${varB[i]}"
done
如何设置框架中元素的状态,默认为false,当单击为true时,双击为false
答案 0 :(得分:0)
尝试以下代码。
我将帧保留在render方法之外,并使用了flatlist。现在,当按下按钮时,该特定框架元素的isFrameActive标志将更改并重新呈现。因此,这应该按照您的要求工作。试试吧!
this.state = {
frames : [
{
id: 1,
value: 1,
isFrameActive: true
},
{
id: 2,
value: 2,
isFrameActive: true
},
{
id: 3,
value: 3,
isFrameActive: true
}
]
};
handleChoiceTime = (index, item) => {
this.state.frames[index].isActive = !this.state.frames[index].isActive;
this.setState({
frames: this.state.frames
})
}
renderFrame = (item) => {
<TouchableOpacity style={item.isFrameActive ? styles.frameItemActive : styles.frameItem} key={item.id} onPress={this.handleChoiceTime.bind(index, item)}>
<Text style={{color: '#8E8E93', fontSize: 17}}>{item.value}</Text>
</TouchableOpacity>
}
render() {
<Flatlist
data={this.state.frames}
renderItem = {(item) => this.renderFrame(index, item)}
extraData={this.state}
/>
};