- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
代码由Vue语言编写,使用Element-ui框架,
如果一个对象包含某些内容,则会显示该内容,如果不包含则禁用菜单按钮。
输出应该是这样的:
a、b(禁用)、c、d、e
但我的是这样的:
a、a(禁用)、b(禁用)、c(禁用)、d(禁用)、e(禁用)、c、d、e
如果 v-if 语句和 v-else-if 语句翻转,输出如下:
a(禁用)、b(禁用)、c(禁用)、d(禁用)、e(禁用)、b、a(禁用)、b(禁用)、c(禁用)、d(禁用)、e(禁用)、a(禁用)、b(禁用)、c(禁用)、d(禁用)、e(禁用)、a(禁用)、b(禁用)、c(禁用)、d(禁用),e(禁用)
所以,我猜如果if-else条件成立,for循环显示是否必须显示,而不是通过条件的某个项目。
如果数组包含某些内容,则显示数组及其子数组。
<el-menu
:default-active="activeIndex"
mode="horizontal"
@select="handleSelect">
<el-submenu
v-if="item.subCategories && item.subCategories.length <= 0"
v-for="(item, index) in category.categories" :index="(index+1).toString()"
:key="item.parentCategory.categoryId">
<template slot="title">
{{ item.parentCategory.categoryName}}
</template>
<el-menu-item
index="(index+1).toString()-(i+1).toString()"
v-for="(child, i) in item.subCategories"
:key="child.categoryId"
@click="searchEventByCategory(item.parentCategory.categoryId, child.categoryId)">
{{ child.categoryName }}
</el-menu-item>
</el-submenu>
如果数组不包含任何内容,则无法单击菜单,当然它也没有子菜单。
<el-submenu
v-else-if="item.subCategories && item.subCategories.length > 0"
disabled
v-for="(item, index) in category.categories" :index="(index+1).toString()"
:key="item.parentCategory.categoryId">
<template slot="title">
{{ item.parentCategory.categoryName}}
</template>
<el-menu-item>
</el-menu-item>
</el-submenu>
</el-menu>
顺便问一下,如果对象不包含任何内容,是否有可能该对象显示为el-menu-item,这是独立的菜单项,而不是el-submenu有二级菜单。
请帮帮我!!!谢谢。
最佳答案
您可以使用v-bind:disabled
(简写::disabled
)动态设置“disabled”属性。那么您不需要重复 for 循环或进行任何 v-if 改组。
<el-menu
:default-active="activeIndex"
mode="horizontal"
@select="handleSelect">
<el-submenu
v-for="(item, index) in category.categories"
:index="(index+1).toString()"
:key="item.parentCategory.categoryId"
:disabled="item.subCategories && item.subCategories.length <= 0"> // set disabled property dynamically if this statement is true
<template slot="title">
{{ item.parentCategory.categoryName }}
</template>
// If item.subcategories doesn't exist or has no items, this for loop won't render anything.
<el-menu-item
v-for="(child, i) in item.subCategories"
:index="(index+1).toString()-(i+1).toString()"
:key="child.categoryId"
@click="searchEventByCategory(
item.parentCategory.categoryId,child.categoryId
)">
{{ child.categoryName }}
</el-menu-item>
</el-submenu>
</el-menu>
关于javascript - v-for 在 v-if 条件下,v-else 不起作用,循环重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61109488/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!