Vue如何获取子元素的宽度总和

如图所示:

Vue如何获取子元素的宽度总和

父元素通过 flex-grow: 1 获取了宽度,子元素(导航栏)的总体宽度超出了父元素的宽度,在这种情况下,想要实现如下结果:

根据父元素的宽度展示指定个数的子元素,根据图片实际情况,导航栏只展示到 预留导航4位置,剩下的不显示?

<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">

<el-menu-item index="1"><i class="el-icon-s-home"></i><span>首页</span></el-menu-item>

<template v-for="item in menuItems" :key="item.index">

<el-menu-item :index="item.index" ref="navMenuItem">

<i class="el-icon-s-tools"></i>

<span>{{ item.name }}</span>

</el-menu-item>

</template>

</el-menu>

<script>

export default {

data() {

return {

menuItems: [{

index: "2",

name: '预留导航1'

}, {

index: "3",

name: '预留导航2'

}, {

index: "4",

name: '预留导航3'

}, {

index: "5",

name: '预留导航4'

}, {

index: "6",

name: '预留导航5'

}, {

index: "7",

name: '预留导航6'

}, {

index: "8",

name: '预留导航7'

}, {

index: "9",

name: '预留导航8'

}, {

index: "10",

name: '预留导航9'

}, {

index: "11",

name: '预留导航10'

}, {

index: "12",

name: '预留导航11'

}, {

index: "13",

name: '预留导航12'

}]

};

},

},


回答:

ref父元素拿到dom之后用js获取子元素宽度哇,然后根据宽度算你第N个子元素后不显示

以上是 Vue如何获取子元素的宽度总和 的全部内容, 来源链接: utcz.com/p/935592.html

回到顶部