我正在使用引导Vue来呈现一个选择输入。一切都很好--我可以根据所选的选项获取值并更改UI。
我正在尝试更改我的页面上的标题文本--成为所选选项的文本。我正在使用一个对象数组来呈现选择输入中的选项。
以下是我在模板中使用的内容:
<b-form-group
id="mySelect"
description="Make a choice."
label="Choose an option"
label-for="mySelect">
<b-form-select id="mySelect"
@change="handleChange($event)"
v-model="form.option"
:options="options"/>
</b-form-group>
下面是我传递给模板的数据/选项的样子:
...
data: () => ({
form: {
option: '',
}
options: [
{text: 'Select', value: null},
{
text: 'Option One',
value: 'optionOne',
foo: {...}
},
{
text: 'Option Two',
value: 'optionTwo',
foo: {...}
},
}),
methods: {
handleChange: (event) => {
console.log('handleChange called');
console.log('event: ', event); // optionOne or optionTwo
},
},
...
我可以获得optionOne
或optionTwo
,我希望获得的是optionOne
或optionTwo
(文本值),而不是value
值。有没有一种方法可以做到这一点,而不创建一个额外的数组或其他东西来映射选定的选项?我也尝试过绑定到实际的options
对象,但在这条路由上也不太走运。谢谢您的任何建议!
感谢@Vuco,这是我最后得到的。引导Vue通过:options
将所有select选项传入。我正在努力查看如何访问选定的完整对象;不仅仅是价值。
模板:
<h1>{{ selectedOption }}</h1>
<b-form-group
id="mySelect"
description="Make a choice."
label="Choose an option"
label-for="mySelect">
<b-form-select id="mySelect"
v-model="form.option"
:options="options"/>
</b-form-group>
JS:
...
computed: {
selectedOption: function() {
const report = this.options.find(option => option.value === this.form.option);
return option.text; // Option One
},
methods: {
//
}
...
现在,当我选择一些东西时,文本值会显示在我的模板上。
我不知道Vue bootstrapselect
及其事件和逻辑,但您可以创建一个简单的computed
属性,该属性通过当前的表单返回信息。option
值:
null
let app = new Vue({
el: "#app",
data: {
form: {
option: null,
},
options: [{
text: 'Select',
value: null
},
{
text: 'Option One',
value: 'optionOne'
},
{
text: 'Option Two',
value: 'optionTwo'
}
]
},
computed: {
currentValue() {
return this.options.find(option => option.value === this.form.option)
}
}
});
<div id="app">
<b-form-group id="mySelect" description="Make a choice." label="Choose an option" label-for="mySelect">
<b-form-select id="mySelect" v-model="form.option" :options="options" />
</b-form-group>
<p>{{ currentValue.text }}</p>
</div>
我正在应用程序中使用引导下拉组件,如下所示: 我想将选定的项目显示为btn标签。换言之,将“请从列表中选择”改为已选择的列表项目(“项目一”、“项目二”、“项目三”)。
我使用gridview在我的gridview中选择多个项目(图像)。 我使用< code > MultiChoiceModeListener 来实现这一点,问题是选中的项目没有突出显示 选择器xml: 当我触摸一个项目时,它被蓝色覆盖(我认为这是因为我使用了< code > GridView . setdrawselectorontop(true);)...我一抬起手指,蓝色就消失了。 我希望选择
我在我的应用程序中使用了可以在android工作室添加的抽屉菜单,我在导航抽屉中添加了一些菜单条目(参见代码块)。如果我按下第一个项目(nav_home)或第二个,导航抽屉会突出显示当前按下的项目。 如果我按下项目“nav_information”按钮或其他项目,则会打开新的(单击的)片段,并且看不到突出显示(主页或第二个项目仍突出显示) 很快,只有第一个项目在选定的项目上显示突出显示。 这是我处
我试图使用一对剑道下拉列表来过滤AngularJS中的数据集。其中一个数据源使用静态可观察数组按状态筛选数据集;另一个数据源是数据集的“区域ID”列的一组不同值,也存储为可观察数组。当状态下拉列表更改时,区域下拉列表应该从新过滤的数据中重新加载区域列表。这是可行的,但是选定的值最终会被忽略,即使应该代表选定值的模型仍然具有正确的值,并且数据仍然被相同的值正确过滤。打开下拉列表,然后单击它,使其按应
我有一个从内部存储器加载图像的回收器视图。我想在单击时突出显示所选项。我试了很多方法,但都不起作用。实际上,我需要的是,当我在Recycler视图中单击任何项目时,该项目必须进入我的ArrayList,它也应该突出显示,当我单击或说unselect时,它必须再次变为正常。以下是我的代码: 这是我的适配器类:
这可能是一个骗局——我找不到它——我基本上只是试图通过提供我自己的ListCellRenler来自定义JComboBox显示: 当我展开JComboBox列表时,组件会正确显示名称。但是,在选择项目时,显示将恢复为myObj的toString()值。 我错过什么了吗?