Я делаю приложение для Android, используя реагировать родной, и я использовал компонент TouchableOpacity для создания кнопок.
Я использую компонент ввода текста, чтобы принять текст от пользователя, и кнопка должна быть включена только после того, как ввод текста соответствует определенной строке.
Я могу придумать способ сделать это, сначала визуализируя кнопку без оболочки TouchableOpactiy, и повторно визуализируя ее с помощью совпадения входной строки.
Но я предполагаю, что есть гораздо лучший способ сделать это. Кто-нибудь может помочь?
react-native
Джефф П Чакко
источник
источник
disabled
состояние не меняет дочерние стили рендеринга, поэтому для того, чтобы отключенное состояние было видимым для пользователей, вам необходимо применить стиль кText
элементу, например,<Text style={{ opacity: 0.5 }}>I'm disabled</Text>
- просто к сведениюПросто сделай это
источник
<Text>{text}</FontText>
? FontText?Это похоже на то, что можно решить с помощью компонента высшего порядка. Хотя я могу ошибаться, потому что я изо всех сил пытаюсь понять это на 100%, но, возможно, это будет полезно для вас (вот несколько ссылок) ...
источник
TouchableOpacity получает
activeOpacity
. Вы можете сделать что-то вроде этогоПоэтому, если он включен, он будет выглядеть нормально, в противном случае он будет выглядеть как touchable без обратной связи.
источник
На этой нативной базе есть решение:
источник
Чтобы отключить Text, вы должны установить непрозрачность: 0 в стиле Text следующим образом:
источник
Вы можете построить CustButton с
TouchableWithoutFeedback
, и установить эффект и логику вы хотите сonPressIn
,onPressout
или другими реквизитами.источник
Я смог исправить это, поместив условие в свойство style.
источник
Вот моя работа вокруг этого, я надеюсь, что это поможет:
in
SignUpStyleSheet.inputStyle
содержит стиль кнопки, когда она отключена или нет, затемstyle={this.state.validity ? SignUpStyleSheet.inputStyle : [SignUpStyleSheet.inputAndButton, {opacity: 0.5}]}
я добавляю свойство opacity, если кнопка отключена.источник
Вы можете включить или отключить кнопку, либо с помощью условия, либо напрямую по умолчанию это будет отключено: true
источник
Я думаю, что наиболее эффективный способ - обернуть touchableOpacity видом и добавить prop pointerEvents с условием стиля.
CSS:
источник