javascript - 在按钮单击时添加动态下拉菜单并获取下拉值

标签 javascript vue.js vuejs2 vue-component

我在单击按钮时动态添加了 html 选择选项

<div id="app">
    <div>
        <button class="button btn-primary" @click="addRow">Add row</button>
        <button @click="showValues">
            Show values
        </button>
    </div>
    <div v-for="row in rows" :id=row.id>
        <button-counter></button-counter>
    </div>
</div>
<script>

    Vue.component('button-counter', {
        props: ['value'],
        template: '<select> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="opel">Opel</option> <option value="audi">Audi</option> </select>'
    })
    var app = new Vue({
        el: "#app",
        data: {
            rows: [],
            values: {},
            count: 0,
            selected: ''
        },
        methods: {
            addRow: function () {
                var txtCount = ++this.count;
                id = 'ddl_' + txtCount;
                this.rows.push({ title: "first", description: "ddl1", id });

            },
            showValues() {
                console.log(this.values)
            }

        }
    });
</script>

我正在使用组件动态添加 html 选择。当我单击“添加行”按钮时,将添加新的下拉列表。我的问题是我想在“显示值”按钮单击上获取下拉值。

最佳答案

要访问值,您可以做的是将 ref 添加到所有组件,并使用 $ref 获取 v-model 的值,但为此,您需要将 v-model 添加到选择组件。我用你的代码创建了 plunker,它工作正常。有关更多详细信息,请参阅 codepen。

codepen - https://codepen.io/anon/pen/Qoeybv

关于javascript - 在按钮单击时添加动态下拉菜单并获取下拉值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55370593/

相关文章:

javascript - 如何管理具有多个 View (或部分)的单页 Chrome 应用

javascript - 如何在 vuejs 中绑定(bind) html &lt;title&gt; 内容?

javascript - 禁用日期选择器上的日期的问题

css - 如何在nuxt.js中将css文件输出为.css文件而不是内联&lt;style&gt;?

javascript - 在 jquery 中查找数据

javascript - Angular 火错误 : [$injector:unpr] Unknown provider: $firebaseStorageProvider <- $firebaseStorage

javascript - vue 将自定义组件作为属性传递给父组件

javascript - 如何将 if 语句与 v-for 一起使用?

vue.js - Asyncdata 与 Fetch 之间的区别

javascript - 在 React Form 无状态组件和全状态 Root 组件之间传递多个输入字段