vue当我表里面的数据是对应的服务名称的时候,操作里面设置的按钮才会显示出来,如果不是服务名称对应的按钮隐藏vue
时间: 2024-03-09 17:45:22 浏览: 27
你可以通过计算属性来实现这个需求。具体实现步骤如下:
1. 在组件的 data 选项中定义服务名称和操作按钮的映射关系,例如:
```
data() {
return {
services: {
'service1': ['button1', 'button2'],
'service2': ['button3', 'button4'],
'service3': ['button5', 'button6']
},
selectedService: 'service1'
}
}
```
2. 在模板中,使用 v-if 指令判断当前选中的服务是否对应当前的操作按钮:
```
<template>
<div>
<button v-if="services[selectedService].includes('button1')">Button 1</button>
<button v-if="services[selectedService].includes('button2')">Button 2</button>
<button v-if="services[selectedService].includes('button3')">Button 3</button>
<button v-if="services[selectedService].includes('button4')">Button 4</button>
<button v-if="services[selectedService].includes('button5')">Button 5</button>
<button v-if="services[selectedService].includes('button6')">Button 6</button>
</div>
</template>
```
3. 创建一个计算属性,用于获取当前选中服务对应的操作按钮列表:
```
computed: {
selectedServiceButtons() {
return this.services[this.selectedService]
}
}
```
4. 在模板中使用计算属性代替直接使用映射关系:
```
<template>
<div>
<button v-if="selectedServiceButtons.includes('button1')">Button 1</button>
<button v-if="selectedServiceButtons.includes('button2')">Button 2</button>
<button v-if="selectedServiceButtons.includes('button3')">Button 3</button>
<button v-if="selectedServiceButtons.includes('button4')">Button 4</button>
<button v-if="selectedServiceButtons.includes('button5')">Button 5</button>
<button v-if="selectedServiceButtons.includes('button6')">Button 6</button>
</div>
</template>
```
这样,当你选择不同的服务时,对应的操作按钮就会显示或隐藏。
阅读全文