Comments (9)
Any work around for this? This problem makes it basically not usable if one have any custom logic for the checkbox.
from react-native-checkbox.
Any work around for this? This problem makes it basically not usable if one have any custom logic for the checkbox.
I ended up making a custom wrapper around this component with a state that basically sets a timer for 0ms after the click, and if the provided value hasn’t changed, it changes the state back to the value. If you’re interested, let me know and I can post the code for it when I have time later.
Seems a really cool work around, thanks for the help.
You’re welcome! Let me know if you have any issues implementing it, and I can post my code as I’d have to modify it a bit to take out some static values specific to my organization.
from react-native-checkbox.
Any work around for this? This problem makes it basically not usable if one have any custom logic for the checkbox.
I ended up making a custom wrapper around this component with a state that basically sets a timer for 0ms after the click, and if the provided value hasn’t changed, it changes the state back to the value. If you’re interested, let me know and I can post the code for it when I have time later.
from react-native-checkbox.
Any work around for this? This problem makes it basically not usable if one have any custom logic for the checkbox.
I ended up making a custom wrapper around this component with a state that basically sets a timer for 0ms after the click, and if the provided value hasn’t changed, it changes the state back to the value. If you’re interested, let me know and I can post the code for it when I have time later.
Seems a really cool work around, thanks for the help.
from react-native-checkbox.
Can confirm that on Android the checkbox becomes unchecked as well, despite value being set to true
.
from react-native-checkbox.
Can confirm that on Android the checkbox becomes unchecked as well, despite value being set to
true
.
True. It works on android very well.
from react-native-checkbox.
Any work around for this? This problem makes it basically not usable if one have any custom logic for the checkbox.
I ended up making a custom wrapper around this component with a state that basically sets a timer for 0ms after the click, and if the provided value hasn’t changed, it changes the state back to the value. If you’re interested, let me know and I can post the code for it when I have time later.
can you share the code sir? thanks
from react-native-checkbox.
can you share the code sir? thanks
from react-native-checkbox.
@hieutn290120 and @rizkiiansyah sorry for not getting back sooner. The code is really nothing special, but here you go (remember to change the color values):
import React, { useState, useRef, useEffect } from 'react';
import CheckBox from '@react-native-community/checkbox';
import propTypes from 'prop-types';
function Checkbox(props) {
const { id, value, onChange, boxHeight } = props;
const [state, setState] = useState(value);
const refreshHandler = useRef();
const valueRef = useRef();
valueRef.current = value;
useEffect(() => {
return () => {
clearTimeout(refreshHandler.current);
};
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [])
useEffect(() => {
if (value !== state) {
setState(value);
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [value])
function valueChanged(newValue) {
clearTimeout(refreshHandler.current);
setState(newValue);
if (onChange) {
onChange({ id: id, value: newValue })
}
refreshHandler.current = setTimeout(() => {
checkValue(newValue);
}, 0);
}
function checkValue(newValue) {
if (newValue !== valueRef.current) {
setState(valueRef.current);
}
}
// *** TODO: CHANGE THESE TO YOUR COLOR VALUES!
var color_a = '#FF0000';
var color_b = '#00FF00';
return (
<CheckBox
disabled={ false }
value={ state }
onValueChange={(newValue) => valueChanged(newValue)}
tintColors={{
true: color_a,
false: color_b
}}
boxType='square'
tintColor={ color_b }
onCheckColor={ color_a }
onTintColor={ color_a }
animationDuration={ 0.2 }
onAnimationType='one-stroke'
offAnimationType='stroke'
style={{
height: boxHeight || 20
}}
/>
);
};
Checkbox.propTypes = {
id: propTypes.oneOfType([
propTypes.string,
propTypes.number
]),
value: propTypes.bool,
onChange: propTypes.func,
boxHeight: propTypes.number
};
Checkbox.defaultProps = {
value: false,
boxHeight: 20
};
export default Checkbox;
Usage is as follows:
<Checkbox
id='checkbox_a'
value={ checkboxAValue }
onChange={ (filter) => changeFilter({ id: filter.id, value: filter.value }) }
boxHeight={ Typography.body_2.fontSize }
/>
I hope that helps!
from react-native-checkbox.
Related Issues (20)
- requireNaticeComponent: AndroidCheckBox was not found in the UIManager HOT 17
- JSX element class does not support attributes because it does not have a 'props' property. ts(2607) HOT 4
- get name
- Checkboxes dont show normal device HOT 4
- CheckBox component gives typescript error: JSX element class does not support attributes because it does not have a 'props' property HOT 4
- Error Task :@react-native-community_checkbox:generateDebugRFile FAILED HOT 1
- React Native v0.72 no longer includes setAndForwardRef utility HOT 8
- Task ':react-native-community_checkbox:copyReleaseJniLibsProjectAndLocalJars' uses this output of task ':@react-native-community_checkbox:stripReleaseDebugSymbols' without declaring an explicit or implicit dependency. HOT 2
- Invariant Violation: requireNativeComponent: "RNCCheckbox" was not found in the UIManager, IOS
- [react-native-windows] Missing Publisher Details in the details tab under dll Properties HOT 1
- PlatformColor is not supported for tintColors property
- v0.5.17 not yet published HOT 1
- The lib don't support Fabric (RN new arch)
- Gradle Build Failed for Android SDK 14
- setAndForwardRef is removed from React Native 0.72 that you are using. HOT 2
- Android Lint warning: Using Restricted API
- import CheckBox from '@react-native-community/checkbox'; does not work HOT 3
- ios bug: I set value to false in onValueChange funciton, but the ios CheckBox still changes check and uncheck. Android's doesn't change. HOT 1
- The declared package "com.reactnativecommunity.checkbox" does not match the expected package "src.main.java.com.reactnativecommunity.checkbox"Java(536871240)
- CheckBox in Android seems not aligned HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-native-checkbox.