99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Element-React Tabs 標簽頁

2020-10-19 10:23 更新

分隔內(nèi)容上有關(guān)聯(lián)但屬于不同類別的數(shù)據(jù)集合。

基礎(chǔ)用法

基礎(chǔ)的、簡潔的標簽頁。

Tabs 組件提供了選項卡功能,默認選中第一個標簽頁,你也可以通過 value 屬性來指定當前選中的標簽頁。

render() {
  return (
    <Tabs activeName="2" onTabClick={ (tab) => console.log(tab.props.name) }>
      <Tabs.Pane label="用戶管理" name="1">用戶管理</Tabs.Pane>
      <Tabs.Pane label="配置管理" name="2">配置管理</Tabs.Pane>
      <Tabs.Pane label="角色管理" name="3">角色管理</Tabs.Pane>
      <Tabs.Pane label="定時補償任務(wù)" name="4">定時補償任務(wù)</Tabs.Pane>
    </Tabs>
  )
}

選項卡樣式

選項卡樣式的標簽頁。

只需要設(shè)置 type 屬性為 card 就可以使選項卡改變?yōu)闃撕烇L格。

render() {
  return (
    <Tabs type="card" value="1">
      <Tabs.Pane label="用戶管理" name="1">用戶管理</Tabs.Pane>
      <Tabs.Pane label="配置管理" name="2">配置管理</Tabs.Pane>
      <Tabs.Pane label="角色管理" name="3">角色管理</Tabs.Pane>
      <Tabs.Pane label="定時補償任務(wù)" name="4">定時補償任務(wù)</Tabs.Pane>
    </Tabs>
  )
}

可關(guān)閉

可以關(guān)閉標簽頁。

通過設(shè)置 closable 屬性來打開 Tabs 的可關(guān)閉標簽效果, closable 也可以設(shè)置在 Tab Panel 中實現(xiàn)部分標簽頁的可關(guān)閉效果。

render() {
  return (
    <Tabs type="card" closable activeName="1" onTabRemove={ (tab) => console.log(tab.props.name) }>
      <Tabs.Pane label="用戶管理" name="1">用戶管理</Tabs.Pane>
      <Tabs.Pane label="配置管理" name="2">配置管理</Tabs.Pane>
      <Tabs.Pane label="角色管理" name="3">角色管理</Tabs.Pane>
      <Tabs.Pane label="定時補償任務(wù)" name="4">定時補償任務(wù)</Tabs.Pane>
    </Tabs>
  )
}

卡片化

卡片化的標簽頁。

type設(shè)置為border-card。

render() {
  return (
    <Tabs type="border-card" activeName="1">
      <Tabs.Pane label="用戶管理" name="1">用戶管理</Tabs.Pane>
      <Tabs.Pane label="配置管理" name="2">配置管理</Tabs.Pane>
      <Tabs.Pane label="角色管理" name="3">角色管理</Tabs.Pane>
      <Tabs.Pane label="定時補償任務(wù)" name="4">定時補償任務(wù)</Tabs.Pane>
    </Tabs>
  )
}

自定義標簽頁

可以通過 node 類型來實現(xiàn)自定義標簽頁的內(nèi)容。

render() {
  const label = <span><Icon name="date" /> 用戶管理</span>


  return (
    <Tabs type="border-card" activeName="1">
      <Tabs.Pane label={label} name="1">用戶管理</Tabs.Pane>
      <Tabs.Pane label="配置管理" name="2">配置管理</Tabs.Pane>
      <Tabs.Pane label="角色管理" name="3">角色管理</Tabs.Pane>
      <Tabs.Pane label="定時補償任務(wù)" name="4">定時補償任務(wù)</Tabs.Pane>
    </Tabs>
  )
}

動態(tài)增減標簽頁

增減標簽頁按鈕只能在選項卡樣式的標簽頁下使用

constructor() {
  super();
  this.state = {
    tabs: [{
      title: 'Tab 1',
      name: 'Tab 1',
      content: 'Tab 1 content',
    }, {
      title: 'Tab 2',
      name: 'Tab 2',
      content: 'Tab 2 content',
    }],
    tabIndex: 2,
  }
}


editTab(action, tab) {
  if (action === 'add') {
    const { tabs, tabIndex } = this.state;
    const index = tabIndex + 1;


    tabs.push({
      title: 'new Tab',
      name: 'Tab ' + index,
      content: 'new Tab content',
    });
    this.setState({
      tabs,
      tabIndex: index,
    });
  }


  if (action === 'remove') {
    const { tabs } = this.state;


    console.log(action, tab);
    tabs.splice(tab.key.replace(/^\.\$/, ''), 1);
    this.setState({
      tabs,
    });
  }
}


render() {
  return (
    <Tabs type="card" value="Tab 2" editable onTabEdit={(action, tab) => this.editTab(action, tab)}>
      {
        this.state.tabs.map((item, index) => {
          return <Tabs.Pane key={index} closable label={item.title} name={item.name}>{item.content}</Tabs.Pane>
        })
      }
    </Tabs>
  )
}

動態(tài)添加標簽頁

constructor() {
  super();
  this.state = {
    tabs: [{
      title: 'Tab 1',
      name: 'Tab 1',
      content: 'Tab 1 content',
    }, {
      title: 'Tab 2',
      name: 'Tab 2',
      content: 'Tab 2 content',
    }],
    tabIndex: 2,
  }
}


addTab() {
  const { tabs, tabIndex } = this.state;
  const index = tabIndex + 1;


  tabs.push({
    title: 'new Tab',
    name: 'Tab ' + index,
    content: 'new Tab content',
  });
  this.setState({
    tabs,
    tabIndex: index,
  });
}


removeTab(tab) {
  const { tabs, tabIndex } = this.state;


  tabs.splice(tab.key.replace(/^\.\$/, ''), 1);
  this.setState({
    tabs,
  });
}


render() {
  return (
    <div>
      <div style={{marginBottom: '20px'}}>
        <Button size="small" onClick={() => this.addTab()}>add tab</Button>
      </div>
      <Tabs type="card" value="Tab 2" onTabRemove={(tab) => this.removeTab(tab)}>
        {
          this.state.tabs.map((item, index) => {
            return <Tabs.Pane key={index} closable label={item.title} name={item.name}>{item.content}</Tabs.Pane>
          })
        }
      </Tabs>
    </div>
  )
}

Tabs Attributes

參數(shù) 說明 類型 可選值 默認值
type 風格類型 string card, border-card
closable 標簽是否可關(guān)閉 boolean - false
addable 標簽是否可增加 boolean - false
editable 標簽是否同時可增加和關(guān)閉 boolean - false
activeName 選中選項卡的 name string 第一個選項卡的 name
value 綁定值,選中選項卡的name string 第一個選項卡的 name

Tabs Events

事件名稱 說明 回調(diào)參數(shù)
onTabClick tab 被選中時觸發(fā) 被選中的標簽 tab 實例
onTabRemove 點擊 tab 移除按鈕后觸發(fā) 被刪除的標簽的 name
onTabAdd 點擊 tabs 的新增按鈕后觸發(fā) -
onTabEdit 點擊 tabs 的新增按鈕或 tab 被關(guān)閉后觸發(fā) (targetName, action)

Tabs.Pane Attributes

參數(shù) 說明 類型 可選值 默認值
label 選項卡標題 string,node
disabled 是否禁用 boolean false
name 與選項卡 activeName 對應(yīng)的標識符,表示選項卡別名 string 該選項卡在選項卡列表中的順序值,如第一個選項卡則為'1'
closable 標簽是否可關(guān)閉 boolean false
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號