Почему мой компонент Vue не возвращает значение? - PullRequest
0 голосов
/ 25 апреля 2018

Я новичок в Vue, и я хотел создать компонент, обертывающий kendoComboBox, и хотел использовать на нем v-модель, но он не возвращает выбранный элемент.Чего не хватает в моем коде?

Это мой компонент Vue и html.

Vue.component('leave-type-2',
    {
        template: '<input v-bind:value="value" v-on:select="$emit("select", $event.target.dataItem)" />',
        props: ['value'],
        mounted: function() {
            var self = this;

            $(this.$el).kendoComboBox({
                dataSource: {
                    transport: {
                        read: {
                            url: "../LeaveTool/LeaveTypes",
                            dataType: "json"
                        }
                    }
                },
                dataTextField: "Description",
                dataValueField: "NumCode",
                filter: "contains",
                select: function(e) {
                    var dataItem = this.dataItem(e.item.index());
                    self.$emit('select', { "NumCode": dataItem.NumCode, "Description": dataItem.Description });
                },
                change: function() {

                }
            });
        }
    });
    
 const v = new Vue({
  el: "#app",
  data: function () {
    return {
      leaveType: null
    }
  }
 });
<div id="app">
    Leave Type Selected: {{ leaveType }}
    <leave-type-2 
      v-model="leaveType" 
      v-once style="width: 100%">
    </leave-type-2>
</div>
...