我尝试写了写TextInput的子类,来统一修改字体,但是改变不了props.style里的fontSize,记录下,先看每个TextInput单独设置写。
import {TextInput} from 'react-native';
export default class AppTextInput extends TextInput {
constructor(props) {
super(props);
}
hasTriggleFontSizeChange = false;
realFontSize = 12;
componentWillMount() {
var tempStyle = this.props.style;
if (!this.hasTriggleFontSizeChange) {
this.hasTriggleFontSizeChange = true;
var tempFontSize = 6;
if (tempStyle.hasOwnProperty('fontSize')) {
tempFontSize = tempStyle['fontSize'];
}
tempFontSize = 12;
var newStyle = {fontSize: tempFontSize};
let styles = this.props.style;
styles = {...styles, fontSize: tempFontSize};
//styles.fontSize = tempFontSize;//= {...styles, newStyle};
this.setNativeProps({style:newStyle});
this.props.style = styles//{...this.props.style, fontSize: tempFontSize};
}
}
render() {
return super.render();
}
}
···
网友评论