[improvement] Icon: jsx (#2514)

This commit is contained in:
neverland
2019-01-13 08:44:36 +08:00
committed by GitHub
parent b52a37220f
commit b3f587c7d0
23 changed files with 55 additions and 164 deletions
+44
View File
@@ -0,0 +1,44 @@
import { use } from '../utils';
import Info from '../info';
import isSrc from '../utils/validate/src';
const [sfc] = use('icon');
export default sfc({
props: {
name: String,
size: String,
color: String,
info: [String, Number],
classPrefix: {
type: String,
default: 'van-icon'
}
},
computed: {
isSrc() {
return isSrc(this.name);
}
},
render(h) {
return (
<i
class={[
this.classPrefix,
this.isSrc ? 'van-icon--image' : `${this.classPrefix}-${this.name}`
]}
style={{
color: this.color,
fontSize: this.size
}}
{...{ on: this.$listeners }}
>
{this.$slots.default}
{this.isSrc && <img src={name} />}
<Info info={this.info} />
</i>
);
}
});