當前位置:編程學習大全網 - 源碼下載 - 誰能給個element的tab標簽頁的標簽下拉選項的demo,就是label

誰能給個element的tab標簽頁的標簽下拉選項的demo,就是label

這個牽涉到 Render Function 的使用,所以會比較復雜點,可以看下官方文檔了解下:Render 函數

看完其實妳大概也知道要怎麼做了, element 文檔沒寫特別清楚,不過文檔寫不清楚去看下源碼就壹切明瞭了:

Tab Code

可以看到如果有設置 labelContent 屬性,就會使用其來渲染標題部分,並傳遞兩個參數給我們使用

h => 其實就是 render 函數裏面的 createElement ,所以可以調用其來渲染組件

tab => 當前的 tab 實體

先搞個下拉式選單出來:

var select = Vue.extend({

template: `

<el-select @change="(v) => $emit('change', v)" v-model="value" placeholder="請選擇">

<el-option

v-for="item in options"

:label="item.label"

:value="item.value">

</el-option>

</el-select>

`,

data() {

return {

options: [{

value: '選項1',

label: '黃金糕'

}, {

value: '選項2',

label: '雙皮奶'

}, {

value: '選項3',

label: '蚵仔煎'

}, {

value: '選項4',

label: '龍須面'

}, {

value: '選項5',

label: '北京烤鴨'

}],

value: ''

}

}

})

沒啥好講的,最重要的是記得要把事件繼續 emit 出來 : @change="(v) => $emit('change', v)"

那 tab 部分就可以這樣做 (懶得打直接 copy 官網的例子)

<el-tabs :active-name="activeName">

<el-tab-pane label="用戶管理" :label-content="render" name="first">{{selected}}</el-tab-pane>

<el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>

<el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>

<el-tab-pane label="定時任務補償" name="fourth">定時任務補償</el-tab-pane>

</el-tabs>

new Vue({

el: '#app',

data() {

return {

activeName: 'first',

selected: "",

}

},

methods: {

onTabSelected(value) {

this.selected = value

},

render(h, tabInstance) {

// h = createElement,上面有講過羅~

// select = 就是壹開始定義的下拉式選單

return h(select, {

// 監聽事件 change

on: {

change: this.onTabSelected

}

})

}

},

})

  • 上一篇:妳認為未來生活是什麽樣子的英語作文
  • 下一篇:用PHPnow測試成功了PHP程序(wordpress),怎樣打包發到別的機器上做演示
  • copyright 2024編程學習大全網