 /**
  * v-postStyle 使用style模块的注册组件
  * el-tree因为拖拽会重写class类名，所以无论是否注册都会改变样式
  * 
  */
 import ERROR from "../../utils/error"
 import {
     setStyle
 } from '../../theme/index'
 import CLS from '../../style/kvpair'
 const STYLES = [] //注册的组件标签名集合

 export default {
     mounted(el, binding, vnode) {

         const {
             value
         } = binding
         if (!value) {
             ERROR.style('v-postStyle注册参数值错误!');
             return
         }

         classCorrect(el, value)
         STYLES.push(value)
         setStyle(value)

     }
 }

 //针对特殊情况 比如组件渲染后主动移除添加的标记类名
 function classCorrect(el, value) {
     switch (value) {
         case 'el-table':
             el.firstChild.classList.add(CLS[value].cls);
             el.style.backgroundColor = 'unset'
             break
         default:
             el.classList.add(CLS[value].cls);
     }
 }