Closed fang130tao closed 4 years ago
@fang130tao 我不太确定你使用的版本号,最新版1.4.9
的函数如下:
_combineStyle = (key, innerStyle = undefined) => {
const style = Array.isArray(innerStyle) ? innerStyle : [innerStyle];
return [styles[key], ...style, this.props.style[key]];
};
这里this.props.style
属性是一个对象,里面包含多个key
(取值参见src/style.js
里面的键),每一个key
对应一个组件的样式。
对于每个视图,会把三种样式进行合并:
styles[key]
。innerStyle
。this.props.style[key]
。no update
<NaviBar style={{backgroundColor:'#ef5241',color:'white'}}>
报错:图片没color的属性 原因为:我传入的style是设置字体的样式,所以有color,但是查看源码,你把字体的样式和返回图片使用的同一个方法(_combineStyle ),而此方法都会合并this.props.style,所以字体的样式会加到图片上,所以就报错了 源码:<Image source={this.props.gobackImage} style={this._combineStyle('gobackImage')} /> _combineStyle = (key, innerStyle = undefined) => { const style = Array.isArray(innerStyle) ? innerStyle : [innerStyle]; return [styles[key], ...style, this.props.style]; };
建议:返回箭头图片的样式,单独用个style表示。或者在this._combineStyle()方法中,做个区分加载