【发布时间】:2019-12-12 03:27:01
【问题描述】:
我的 Bootstrap Vue 表仅存在视觉问题,我希望用户最多选择 3 个项目,当我打印所选项目数组并尝试选择第 4 个项目时,它确实只显示了 3 个项目,但在视觉上它似乎是第 4 个被选中的项目
<b-table selectable :select-mode="'multi'" :items="items" :fields="fields" @row-selected="onRowSelected" responsive="lg" id="my-table" :per-page="perPage" :current-page="currentPage" small>
<template v-slot:cell(seleccionado)="{ rowSelected }">
<template v-if="rowSelected && selected.length<=3">
<span aria-hidden="true">✓</span>
<span class="sr-only">Seleccionado</span>
</template>
<template v-else>
<span aria-hidden="true"> </span>
<span class="sr-only">No seleccionado</span>
</template>
</template>
</b-table>
<div class="d-flex flex-row-reverse bd-highlight">
<b-pagination v-model="currentPage" :total-rows="rows" :per-page="perPage" aria-controls="my-table"></b-pagination>
</div>
export default {
data() {
return {
perPage: 10,
currentPage: 1,
fields: ['seleccionado', 'one', 'two', 'three', 'four'],
items: [
//All my items here
],
selected: [],
}
},
computed: {
rows() {
return this.items.length
}
},
methods: {
onRowSelected(items) {
if (this.selected.length<3)
this.selected = items
else alert("You can select only 3 items\n");
},
}
}
【问题讨论】:
标签: vue.js