import React from 'react'; import {StyleProp, TextStyle, ViewStyle} from 'react-native'; import List from '../list'; import {WithTheme, WithThemeStyles} from '../style'; import Checkbox from './Checkbox'; import {CheckboxItemPropsType} from './PropsType'; import CheckboxItemStyles, {CheckboxStyle} from './style'; const ListItem = List.Item; export interface CheckboxItemProps extends CheckboxItemPropsType, WithThemeStyles { checkboxStyle?: StyleProp; style?: StyleProp; } export default class CheckboxItem extends React.Component { checkbox: Checkbox | null | undefined; handleClick = () => { if (this.checkbox) { this.checkbox.handleClick(); } if (this.props.onPress) { this.props.onPress(); } }; render() { const {style, reverse, checkboxStyle, defaultChecked, checked, disabled, children, extra, onChange} = this.props; const thumbNode = ( {(styles) => ( (this.checkbox = ref)} style={[styles.checkboxItemCheckbox, checkboxStyle]} defaultChecked={defaultChecked} reverse={reverse} checked={checked} onChange={onChange} disabled={disabled} /> )} ); return ( {children} ); } }