yylib-quick-mobile
Version:
yylib-quick-mobile
48 lines (45 loc) • 1.49 kB
JavaScript
import React from 'react'
import YYPropTypes from './YYPropTypes';
class YYClassCreate extends React.Component {
constructor(props) {
super(props);
this.classPrefix = 'yyui';
this.uiName = 'base';
}
className = (extClass) => {
var {props} = this;
var cls = (props.className ? props.className + ' ' : '') + this.classPrefix + '-';
if (this.uiMeta) {
cls += this.uiMeta.name;
} else {
cls += this.uiName;
}
if (extClass) {
return cls + '-' + extClass;
} else {
return cls;
}
}
render() {
var _props = {}, field;
//依据元数据解析属性列表
var _meta = this.props.uiMeta;
if (_meta && _meta.fields && _meta.fields.length > 0) {
for (var i = 0; i < _meta.fields.length; i++) {
field = _meta.fields[i];
if (!field || field.value === undefined || (field.type == YYPropTypes.func && field.value === null)) {
continue;
}
_props[field.name] = field.value;
}
//console.log('组件['+_meta.name+']属性',_props);
return _props;
}
return (
<div {...this.props} className={this.className}>
{this.props.children}
</div>
);
}
}
module.exports = YYClassCreate;