mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-24 04:16:00 +08:00
Implemented inline image support for <Text>
Summary: @public This diff implements inline image support for <Text> nodes. Images are specified using <Image> tags, however all properties of the image are currently ignored apart from the source (including width/height styles). Images are loaded asyncronously, and will trigger a text re-layout when they have loaded. Reviewed By: @javache Differential Revision: D2507725 fb-gh-sync-id: 59d0696d00a1bc531915cc35242a16b2dec96e85
This commit is contained in:
committed by
facebook-github-bot-0
parent
c740edaf03
commit
91e6c98ecd
@@ -153,6 +153,10 @@ var Image = React.createClass({
|
||||
validAttributes: ReactNativeViewAttributes.UIView
|
||||
},
|
||||
|
||||
contextTypes: {
|
||||
isInAParentText: React.PropTypes.bool
|
||||
},
|
||||
|
||||
render: function() {
|
||||
for (var prop in cfg.nativeOnly) {
|
||||
if (this.props[prop] !== undefined) {
|
||||
@@ -182,16 +186,20 @@ var Image = React.createClass({
|
||||
RawImage = RCTImageView;
|
||||
}
|
||||
|
||||
return (
|
||||
<RawImage
|
||||
{...this.props}
|
||||
style={style}
|
||||
resizeMode={resizeMode}
|
||||
tintColor={tintColor}
|
||||
src={source.uri}
|
||||
defaultImageSrc={defaultSource.uri}
|
||||
/>
|
||||
);
|
||||
if (this.context.isInAParentText) {
|
||||
return <RCTVirtualImage source={source}/>;
|
||||
} else {
|
||||
return (
|
||||
<RawImage
|
||||
{...this.props}
|
||||
style={style}
|
||||
resizeMode={resizeMode}
|
||||
tintColor={tintColor}
|
||||
src={source.uri}
|
||||
defaultImageSrc={defaultSource.uri}
|
||||
/>
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -210,6 +218,7 @@ var cfg = {
|
||||
},
|
||||
};
|
||||
var RCTImageView = requireNativeComponent('RCTImageView', Image, cfg);
|
||||
var RCTNetworkImageView = (NativeModules.NetworkImageViewManager) ? requireNativeComponent('RCTNetworkImageView', Image, cfg) : RCTImageView;
|
||||
var RCTNetworkImageView = NativeModules.NetworkImageViewManager ? requireNativeComponent('RCTNetworkImageView', Image, cfg) : RCTImageView;
|
||||
var RCTVirtualImage = requireNativeComponent('RCTVirtualImage', Image);
|
||||
|
||||
module.exports = Image;
|
||||
|
||||
Reference in New Issue
Block a user