【发布时间】:2017-10-26 14:15:49
【问题描述】:
我被困住了,伙计们。也许我的问题有简单的解决方案。请帮我。 这就是问题所在。
我有 5 种可能的选项可供选择。假设 [a, b, c, d, e]
我的布局是两个按钮和选择下拉菜单。 换句话说,我给用户两种可能性:
点击两个按钮之一或从列表中选择。
所以模板有点儿
<button> A <button>
<button> B <button>
<select v-model="selected">
<option :value="i" v-for="i in list">i</option>
</select>
在我的脚本中
data () {
return {
list: ['c', 'd', 'e']
}
}
如何将这三个元素合二为一。我可以以某种方式使用 v-model 吗?现在的原因,我可以从列表中选择选项。那我该怎么办。如果我将 @click 事件添加到按钮,它们应该处理什么?
我想创建计算值,比如检查selected 是否未定义或等于'',那么选项是selected。但是为了绑定按钮点击事件,我应该创建方法来处理它们的状态,比如
data () {
return {
list: ['c', 'd', 'e'],
a: false,
b: false
}
},
methods: {
handleA () {
this.a = true
this.b = false
},
handleB () {
this.b = true
this.a = false
}
}
然后每次点击都会将false更改为true,此外还需要一个逻辑来只保留一个true状态:a(按钮A),b(按钮B) 或selected。感觉太不真实了。在我看来,我让事情变得更难了。必须有一个简单的方法。
【问题讨论】:
-
那么,单击按钮一,值为 A,单击二,值为 B,否则从列表中选择 C、D 或 E?
-
是的,值只能是这5个选项之一。
标签: javascript select binding vue.js