国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

Element-React Tabs 標(biāo)簽頁(yè)

2020-10-19 10:23 更新

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

基礎(chǔ)用法

基礎(chǔ)的、簡(jiǎn)潔的標(biāo)簽頁(yè)。

Tabs 組件提供了選項(xiàng)卡功能,默認(rèn)選中第一個(gè)標(biāo)簽頁(yè),你也可以通過 value 屬性來指定當(dāng)前選中的標(biāo)簽頁(yè)。

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="定時(shí)補(bǔ)償任務(wù)" name="4">定時(shí)補(bǔ)償任務(wù)</Tabs.Pane>
    </Tabs>
  )
}

選項(xiàng)卡樣式

選項(xiàng)卡樣式的標(biāo)簽頁(yè)。

只需要設(shè)置 type 屬性為 card 就可以使選項(xiàng)卡改變?yōu)闃?biāo)簽風(fēng)格。

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="定時(shí)補(bǔ)償任務(wù)" name="4">定時(shí)補(bǔ)償任務(wù)</Tabs.Pane>
    </Tabs>
  )
}

可關(guān)閉

可以關(guān)閉標(biāo)簽頁(yè)。

通過設(shè)置 closable 屬性來打開 Tabs 的可關(guān)閉標(biāo)簽效果, closable 也可以設(shè)置在 Tab Panel 中實(shí)現(xiàn)部分標(biāo)簽頁(yè)的可關(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="定時(shí)補(bǔ)償任務(wù)" name="4">定時(shí)補(bǔ)償任務(wù)</Tabs.Pane>
    </Tabs>
  )
}

卡片化

卡片化的標(biāo)簽頁(yè)。

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="定時(shí)補(bǔ)償任務(wù)" name="4">定時(shí)補(bǔ)償任務(wù)</Tabs.Pane>
    </Tabs>
  )
}

自定義標(biāo)簽頁(yè)

可以通過 node 類型來實(shí)現(xiàn)自定義標(biāo)簽頁(yè)的內(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="定時(shí)補(bǔ)償任務(wù)" name="4">定時(shí)補(bǔ)償任務(wù)</Tabs.Pane>
    </Tabs>
  )
}

動(dòng)態(tài)增減標(biāo)簽頁(yè)

增減標(biāo)簽頁(yè)按鈕只能在選項(xiàng)卡樣式的標(biāo)簽頁(yè)下使用

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>
  )
}

動(dòng)態(tài)添加標(biāo)簽頁(yè)

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ù) 說明 類型 可選值 默認(rèn)值
type 風(fēng)格類型 string card, border-card
closable 標(biāo)簽是否可關(guān)閉 boolean - false
addable 標(biāo)簽是否可增加 boolean - false
editable 標(biāo)簽是否同時(shí)可增加和關(guān)閉 boolean - false
activeName 選中選項(xiàng)卡的 name string 第一個(gè)選項(xiàng)卡的 name
value 綁定值,選中選項(xiàng)卡的name string 第一個(gè)選項(xiàng)卡的 name

Tabs Events

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

Tabs.Pane Attributes

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)