Javascript 如何通过单击select元素(Vue.js)的选项项来触发操作?
作为JS对象的选项列表:Javascript 如何通过单击select元素(Vue.js)的选项项来触发操作?,javascript,html,vue.js,Javascript,Html,Vue.js,作为JS对象的选项列表: options: [{ text: this.$t('analytics.pastDays', { days: 7 }), value: 7 }, { text: this.$t('analytics.pastDays', { days: 28 }), value: 28 }, { text: this.$t('analytics.pastDays', { days: 360 }), value: 360 }, { text: this.$t
options: [{
text: this.$t('analytics.pastDays', { days: 7 }),
value: 7
}, {
text: this.$t('analytics.pastDays', { days: 28 }),
value: 28
}, {
text: this.$t('analytics.pastDays', { days: 360 }),
value: 360
}, {
text: this.$t('analytics.customDate'),
value: 7,
method: () => { console.log('Worked') }
}],
选择元素:
<select
class="i-select"
v-model="value"
@change="onChange($event)">
<option
v-for="option in options"
:value="option.value"
@click.stop.prevent="option.method($event)">
{{ option.text }}
</option>
</select>
{{option.text}
知道吗,控制台日志从不记录
如何使
analytics.CustomDate
选项触发其方法?我认为选项上的单击事件将不起作用,我们可以利用其更改事件(不确定选项元素是否不考虑onclick)
您可以在此代码段中检查变通方法
var选项=[{
文本:“analytics.pastDays”,
数值:7,
方法:function(){console.log('选择了这个(7)。')}
}, {
文本:“analytics.pastDays”,
价值:28
}, {
文本:“analytics.pastDays”,
价值:360,
方法:function(){console.log('选择了这个(360)。')}
}, {
文本:“analytics.customDate”,
价值:70,
方法:function(){console.log('选择了这个(70)。')}
}];
var vm=新的Vue({
el:“#应用程序”,
数据:{
选项:你的选项,
值:“”
},
挂载:函数(){
},
方法:{
onChange:函数(值){
var selected=yourOptions.filter(函数(obj){
返回obj.value==值
})
如果(已选定。长度>0){
selected.forEach(函数(选项){if(option.method){option.method();}})
}
}
}
})
VueJS
{{option.text}