0
我正在嘗試添加禁用按鈕功能的功能。我希望按鈕不可點擊,並且透明度較低。當我點擊按鈕時,我在外部組件中設置了該狀態,該按鈕應該被禁用(這是在等待來自服務器的響應時)。不可點擊的部分工作,但我不能讓它在點擊後降低其不透明度。無法在TouchableOpacity上設置禁用的不透明度
組件
<MyButton onPress={ this.setWaiting.bind(this) }
disabled={ this.state.waiting } />
myButton的
const disabledStyle = {
opacity: 0.2,
}
....
<TouchableOpacity
style={ [styles.button, props.disabled && disabledStyle] }
onPress={ onPress }
disabled={ props.disabled }>
....
</TouchableOpacity>
如果我改變disabledStyle
到,雖然設置另一個背景顏色,它按預期工作,並改變背景顏色,而disabled
是真實的。
如果不是太不方便了,你可以使用'{[styles.button,{不透明度:props.disabled? 0.2:1}]}。當按鈕未被禁用時,將'1'更改爲所需的不透明度。 – Dan
@丹仍然不起作用,並提供與以前相同的結果。 –
你可以驗證'this.state.waiting'實際上是在修改MyButton的道具嗎?以下是第一條評論中提到的樣式的簡單示例 - https://snack.expo.io/ry79Yn43b – Dan