vue.js - 如何在 Bootstrap Vue 中制作 ComboBox?
问题描述
我正在尝试在 Bootstrap Vue v2.21.2 中制作一个 ComboBox,而不使用 Vuetify 的v-combobox
.
我试过使用https://github.com/danielfarrell/bootstrap-combobox但它似乎效果不佳,我宁愿使用现有的 Bootstrap 组件也不愿应用外部 CSS 插件。
有没有办法在 Bootstrap Vue 中创建一个组合框?还是我必须为此切换到 Vuetify?
解决方案
使用vue-multiselect会帮助你,因为这个包提供了searching in dropdowns
.
我看了一点组合框标题,发现了这个vue-bootstrap-ajax-combobox
。
我推荐vue-multiselect
,因为我一直在使用它bootstrap-vue
。
我准备了一个片段来展示如何vue-multiselect
完美地在下拉列表中进行搜索。
new Vue({
components: {
Multiselect: window.VueMultiselect.default
},
data: {
value: {
name: 'John',
email: 'john@domain.com'
},
options: [{
name: 'John',
email: 'john@domain.com'
},
{
name: 'Ada',
email: 'ada@domain.com'
},
{
name: 'Nick',
email: 'nick@domain.com'
}
]
},
methods: {
custom_label(option) {
return `${option.name} - ${option.email}`
}
}
}).$mount('#app')
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.min.js"></script>
<link href="https://unpkg.com/vue-multiselect@2.0.2/dist/vue-multiselect.min.css" rel="stylesheet" />
<script src="https://unpkg.com/vue-multiselect@2.0.3/dist/vue-multiselect.min.js"></script>
<div id="app">
<multiselect v-model="value" :options="options" :multiple="true" track-by="email" :custom-label="custom_label">
</multiselect>
<pre>{{ value }}</pre>
</div>
推荐阅读
- typescript - 如何制定强制通用类实例适合给定接口的约束?
- python - 如何使用python在另一个文件中搜索文件的每一行?
- javascript - 服务器以“text/html”的非 JavaScript MIME 类型响应 - 节点
- python - Process.Start 无法启动 .exe 文件
- python - 从字典中提取第一个元素以构建列表
- python - 为什么字典键和值是字符串时可以解包为元组?
- python - Pandas 数据框:没有要绘制的数字数据
- c - 是否可以使用 Rust 中的指针访问结构的元素?
- angular - 从 Angular 9 升级到 10 后自定义 CDK 步进器不起作用
- javascript - Vue - 子组件中的访问道具,常规 javascript