2024-03-16 14:11:43 +08:00

43 lines
1.8 KiB
JavaScript

import React, { Component } from 'react';
import { Text, View, StyleSheet } from 'react-native';
import variables from '../../common/styles/variables';
import formStyles from './styles';
const styles = StyleSheet.create(formStyles);
export class FormItem extends Component {
constructor(props) {
super(props);
this.renderItem = () => {
const children = this.props.children && Array.isArray(this.props.children) ?
this.props.children : [this.props.children];
return (React.createElement(View, {onLayout:this.props.onLayout?this.props.onLayout:()=>{}},
React.createElement(View, { style: [styles.formItem, this.props.style] },
this.props.label && React.createElement(View, { style: styles.container },
React.isValidElement(this.props.label) ? this.props.label :
React.createElement(View, { style: [styles.label, { width: this.props.labelWidth }] },
React.createElement(Text, { style: styles.labelText }, this.props.label)),
React.createElement(View, { style: [styles.control] }, children[0])),
[].slice.call(children, 1).length ? React.createElement(View, { style: styles.others }, [].slice.call(children, 1)) : null),
this.props.hasLine ? React.createElement(View, { style: styles.line }) : null));
};
this.state = {
validation: '',
valid: false,
validating: false
};
}
componentDidMount() {
}
componentWillUnmount() {
}
render() {
return this.renderItem();
}
}
FormItem.defaultProps = {
style: {},
label: '标题',
labelWidth: variables.formItemLabelWidth,
hasLine: false
};
//# sourceMappingURL=FormItem.js.map