king
2021-01-07 0da0262bc236cfce928429fc4c48e1666eab3402
src/menu/components/tabs/antv-tabs/index.jsx
@@ -91,17 +91,36 @@
    MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle)
  }
  updateComponentStyle = (item) => {
    const { group } = this.state
  updateComponentStyle = (parentId, keys, style) => {
    const { tabs } = this.state
    if (group.uuid !== item.uuid) return
    if (tabs.subtabs.findIndex(tab => tab.uuid === parentId) === -1) return
    this.setState({
      group: {...group, components: []}
    }, () => {
      this.setState({
        group: {...group, components: item.components}
      })
    let _tabs = fromJS(tabs).toJS()
    let _tabs_ = fromJS(tabs).toJS()
    let components = []
    _tabs.subtabs.forEach(tab => {
      if (tab.uuid === parentId) {
        components = tab.components.map(item => {
          if (keys.includes(item.uuid)) {
            item.style = {...item.style, ...style}
          }
          return item
        })
        tab.components = []
      }
    })
    _tabs_.subtabs = _tabs_.subtabs.map(tab => {
      if (tab.uuid === parentId) {
        tab.components = components
      }
      return tab
    })
    this.setState({tabs: _tabs}, () => {
      this.updateComponent(_tabs_)
    })
  }
@@ -136,7 +155,7 @@
  updateComponent = (component) => {
    const { tabs } = this.state
    if (!is(fromJS(tabs.setting), fromJS(component.setting))) {
    if (!is(fromJS(tabs.setting), fromJS(component.setting)) || !is(fromJS(tabs.style), fromJS(component.style))) {
      // 注册事件-标签变化,通知标签内元素
      MKEmitter.emit('tabsChange', tabs.uuid)
    }
@@ -270,7 +289,7 @@
  }
  clickComponent = (e) => {
    if (sessionStorage.getItem('style-control') === 'true') {
    if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') {
      e.stopPropagation()
      MKEmitter.emit('clickComponent', this.state.tabs)
    }
@@ -278,7 +297,6 @@
  render() {
    const { tabs, dict, labelvisible, editab } = this.state
    return (
      <div className="menu-tabs-edit-box" style={tabs.style} onClick={this.clickComponent} id={tabs.uuid}>
        <DraggableTabs tabPosition={tabs.setting.position} type={tabs.setting.tabStyle} tabsMove={this.moveSwitch}>