taro-material
Version:
Mini Program components that implement Google's Material Design.
43 lines (38 loc) • 1.34 kB
JavaScript
import Nerv from "nervjs";
import Taro from "@tarojs/taro-h5";
import PropTypes from 'prop-types';
import { View } from '@tarojs/components';
import AtComponent from "../../common/component";
export default class AtLoading extends AtComponent {
constructor() {
super(...arguments);
if (process.env.NODE_ENV === 'test') {
Taro.initPxTransform({ designWidth: 750 });
}
}
render() {
const { color, size } = this.props;
const sizeStyle = {
width: size ? `${Taro.pxTransform(parseInt(size))}` : '',
height: size ? `${Taro.pxTransform(parseInt(size))}` : ''
};
const colorStyle = {
'border': color ? `1px solid ${color}` : '',
'border-color': color ? `${color} transparent transparent transparent` : ''
};
const ringStyle = Object.assign({}, colorStyle, sizeStyle);
return <View className="at-loading" style={sizeStyle}>
<View className="at-loading__ring" style={ringStyle}></View>
<View className="at-loading__ring" style={ringStyle}></View>
<View className="at-loading__ring" style={ringStyle}></View>
</View>;
}
}
AtLoading.defaultProps = {
size: 0,
color: ''
};
AtLoading.propTypes = {
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
color: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
};