【发布时间】:2021-12-26 12:22:28
【问题描述】:
我有一个表单选择元素和一个数组来在页面上显示一些设备信息。我使用 v-for 循环渲染所有设备,但我找不到基于 form-select 元素的选择来显示它们的方法,因为我不允许将 v-if 语句与 v-for 一起使用
这是我的表单选择;
<b-form-select v-model="selected" :options="options" size="sm" class="mr-10px"></b-form-select>
这是我在 HTML 中显示设备的方式;
<tr v-for="device in devices" :key="device.id">
<td style="width: 20px;">
<img :src="device.image"alt="..." />
</td>
<td>
<h6>{{device.name}}</h6></span>
<span>{{device.model}}</span>
</td>
<td>
<span
class="badge font-size-12"
:class="{
'bg-soft-danger': device.traffic >= '10' && device.traffic <= '30',
'bg-soft-warning': device.traffic >= '30' && device.traffic <= '60',
'bg-soft-success': device.traffic > '50',
}"
>
{{device.traffic}}
</span>
</td>
<td>
<span class="badge font-size-12" :class="[device.status == 'Active' ? 'bg-soft-success' : 'bg-soft-danger']">{{device.status}}</span>
</td>
</tr>
现在这是我的表单选择选项和设备数组的 javascript 文件...
export const devices = [
{
id: 1,
image: require("./mini.svg"),
name: "Username 1",
model: "Device Model",
traffic: "10mb",
status: "Active",
},
{
id: 2,
image: require("./mini.svg"),
name: "Username 2",
model: "Device Model 2",
traffic: "20mb",
status: "Active",
},
{
id: 3,
image: require("./mini.svg"),
name: "Username 3",
model: "Device Model 3",
traffic: "30mb",
status: "Deactive",
},
];
export const options = [
{
id: 1,
value: "All",
text: "All",
disabled: false,
},
{
id: 2,
value: "Location",
text: "Location",
disabled: true
},
{
id: 3,
value: "Traffic",
text: "Traffic",
disabled: false,
},
{
id: 4,
value: "Active",
text: "Active",
disabled: false,
},
{
id: 5,
value: "Deactive",
text: "Deactive",
disabled: false,
},
]
这是我如何导入 javascript 文件并将其用作 .vue 文件中的数据...
import { devices, options } from '../devices'
export default {
data() {
return {
devices: devices,
options: options,
selected: 'All',
};
},
};
这是我的问题;当表单选择更改为Active 或Deactive 时如何显示这些设备
我不能说v-if something equals to 'Active',因为 Vue 不允许我将 v-if 与 v-for 一起使用。有没有其他方法可以做到这一点?
【问题讨论】:
标签: vue.js show-hide v-for v-model