【发布时间】:2021-07-08 07:56:00
【问题描述】:
如何交换两个 bootstrap-vue 多个选择框的选定选项? 我想实现下图的 UI。但是我不知道怎么写方法。
我是这样写模板的。
<template>
<b-row
align-v="center"
>
<b-col cols="5">
<b-card header="A Multiple Select" no-body>
<b-card-body>
<b-overlay :show="selectedBusyFlag" opacity="0.6">
<b-form-select
v-model="inActiveSelected"
:options="inActiveOptions"
multiple
></b-form-select>
</b-overlay>
</b-card-body>
</b-card>
</b-col>
<b-col cols="2">
<b-row>
<b-col align="center">
<b-button
variant="link"
class="button-pattern-throw"
@click="
moveOptionsToSelect(
inActiveSelected,
inActiveOptions,
activeSelected,
activeOptions,
'DIRECTION_001',
)
"
>
<i class="fas fa-arrow-circle-right"></i>
</b-button>
</b-col>
</b-row>
<b-row>
<b-col align="center">
<b-button
variant="link"
class="button-pattern-throw"
@click="
moveOptionsToSelect(
activeSelected,
activeOptions,
inActiveSelected,
inActiveOptions,
'DIRECTION_002',
)
"
>
<i class="fas fa-arrow-circle-left"></i>
</b-button>
</b-col>
</b-row>
</b-col>
<b-col cols="5">
<b-card header="B Multiple Select" no-body>
<b-card-body>
<b-overlay :show="selectedBusyFlag" opacity="0.6">
<b-form-select
v-model="activeSelected"
:options="activeOptions"
multiple
></b-form-select>
</b-overlay>
</b-card-body>
</b-card>
</b-col>
</b-row>
</template>
<script>
...
moveOptionsToSelect(selected1, option1, selected2, option2, direction) {
const select1Model = selected1;
const select1Option = option1;
const select2Model = selected2;
const select2Option = option2;
if (direction === 'DIRECTION_001') {
// select A to select B
} else if (direction === 'DIRECTION_002') {
// select B to select A
}
},
...
</script>
当我运行“moveOptionsToSelect”时,我根据“方向字符串”的内容划分了运行的分支,但之后工作并没有进行。
请帮忙!
【问题讨论】:
标签: javascript vue.js bootstrap-vue