generator-bingo-dig-h5
Version:
Bingo-dig-h5 generator by BINGO.DIG
50 lines (36 loc) • 1.32 kB
JavaScript
/*
根据传入的初始化Class和附加Class拼接完整的Class字符串
initialClasses 传入初始化样式(字符串或者对象)
additionalClassObj 传入附加样式(对象)
*/
var React = require('react');
var classNames = require('classnames');
module.exports = {
propTypes: {
className: React.PropTypes.string
},
getClasses: function(initialClasses, additionalClassObj) {
var classString = '';
//Initialize the classString with the classNames that were passed in
if (this.props.className) classString += ' ' + this.props.className;
//Add in initial classes
if (typeof initialClasses === 'object') {
classString += ' ' + classNames(initialClasses);
} else {
classString += ' ' + initialClasses;
}
//Add in additional classes
if (additionalClassObj) classString += ' ' + classNames(additionalClassObj);
//Convert the class string into an object and run it through the class set
return classNames(this.getClassSet(classString));
},
getClassSet: function(classString) {
var classObj = {};
if (classString) {
classString.split(' ').forEach(function(className) {
if (className) classObj[className] = true;
});
}
return classObj;
}
}