weex-nuke
Version:
基于 Rax 、Weex 的高性能组件体系 ~~
54 lines (43 loc) • 1.23 kB
JSX
/** @jsx createElement */
/**
* Copyright (c) 2015-present, Alibaba Group Holding Limited.
* All rights reserved.
*
*/
;
import { Component, createElement, PropTypes, render } from 'rax';
import View from 'nuke-view';
import Text from 'nuke-text';
import ThemeProvider from 'nuke-theme-provider';
import stylesProvider from '../styles';
const { connectStyle } = ThemeProvider;
class PickerItem extends Component {
static contextTypes = {
__column__: PropTypes.bool,
selectedValue: PropTypes.any,
};
render() {
const { __column__, selectedValue } = this.context;
const styles = this.props.themeStyle;
const {
value,
className,
children,
style = {},
prefix = this.defaultPrefix,
} = this.props;
const klsStyle = Object.assign(
{},
styles['picker-item'],
__column__ && value === selectedValue ? styles['picker-item'] : {}
);
return (
<View x="picker-item" style={[klsStyle, style]}>
<Text style={styles['picker-item-text']}>{value}</Text>
</View>
);
}
}
PickerItem.displayName = 'Picker';
const StyledPickerItem = connectStyle(stylesProvider)(PickerItem);
export default StyledPickerItem;