remove magic code, use getBoundingClientRect replace offsetWidth

This commit is contained in:
afc163 2015-08-20 13:43:57 +08:00
parent 970aa4f846
commit 75fca79313
2 changed files with 12 additions and 11 deletions

View File

@ -14,10 +14,6 @@ class AntTag extends React.Component {
close(e) { close(e) {
let dom = React.findDOMNode(this); let dom = React.findDOMNode(this);
dom.style.width = dom.offsetWidth + 'px';
// Magic code
// bug
dom.style.width = dom.offsetWidth + 'px';
this.setState({ this.setState({
closing: true closing: true
}); });
@ -30,6 +26,11 @@ class AntTag extends React.Component {
this.props.onClose.call(this, e); this.props.onClose.call(this, e);
} }
componentDidMount() {
let dom = React.findDOMNode(this);
dom.style.width = (dom.getBoundingClientRect().width || dom.offsetWidth) + 'px';
}
render() { render() {
let close = this.props.closable ? let close = this.props.closable ?
<i className="anticon anticon-cross" onClick={this.close.bind(this)}></i> : ''; <i className="anticon anticon-cross" onClick={this.close.bind(this)}></i> : '';
@ -38,17 +39,18 @@ class AntTag extends React.Component {
let className = this.props.prefixCls + ' ' + colorClass; let className = this.props.prefixCls + ' ' + colorClass;
className = this.state.closing ? className + ' ' + this.props.prefixCls + '-close' : className; className = this.state.closing ? className + ' ' + this.props.prefixCls + '-close' : className;
return (this.state.closed && !this.state.closing) ? null : <div className={className}> return (this.state.closed && !this.state.closing) ? null
<a className={this.props.prefixCls + '-text'} {...this.props} /> : <div className={className}>
{close} <a className={this.props.prefixCls + '-text'} {...this.props} />
</div>; {close}
</div>;
} }
} }
AntTag.defaultProps = { AntTag.defaultProps = {
prefixCls: prefixCls, prefixCls: prefixCls,
closable: false, closable: false,
onClose: function () {} onClose: function() {}
}; };
export default AntTag; export default AntTag;

View File

@ -90,8 +90,7 @@ exports.middlewares = [
watchOptions: { watchOptions: {
aggregateTimeout: 300, aggregateTimeout: 300,
poll: true poll: true
}, }
quiet: true
}); });
try { try {
return handler(req, res, next); return handler(req, res, next);