【发布时间】:2020-02-15 18:16:24
【问题描述】:
我正在尝试使用 bootstrap-vue 动态添加下拉列表项,但无法将下拉列表项呈现给浏览器。这是我到目前为止所拥有的,任何输入将不胜感激。我希望它是动态的,因此如果原始 JSON 发生更改,下拉列表项将随之更改,而无需返回并更改代码。
注意:reportData 是一个对象列表,这就是为什么我将 reportData 的第一个元素设置为我希望从中呈现下拉列表项的 newData。
下拉列表组件:
<section class="drop-down">
<div>
<b-dropdown id="dropdown-list" text="Error Reports" class="m-md-2">
<b-dropdown-item >ITEM</b-dropdown-item>
<b-dropdown-divider></b-dropdown-divider>
</b-dropdown>
</div>
<button @click="changeReport">Click to change</button>
</section>
</template>
<script lang="js">
export default {
name: 'drop-down',
props:['reportData'],
data () {
return {
newData: this.reportData[0]
}
},
methods: {
changeReport(){
this.newData = this.reporData[1]
}
},
watch: {
newData : function(val, OldVal){
var dropdownList = document.getElementById("dropdown-list")
for (var key in val){
console.log(key)
var dropdownItem = document.createElement('b-dropdown-item')
dropdownItem.value = key
dropdownList.add(drowdownItem, 0)
}
}
}
}
</script>
<style>
</style>
【问题讨论】:
标签: javascript vue.js vue-component vuex bootstrap-vue