【问题标题】:kendo-vue-ui how to add a buttons to the end of dropdown listkendo-vue-ui 如何在下拉列表的末尾添加一个按钮
【发布时间】:2018-08-07 03:34:41
【问题描述】:

我正在尝试使用Vue templates 将按钮添加到 Kendo Dropdownlist 列表的末尾。

样品在link上给出

示例中显示的示例将按钮添加到列表中项目的每次迭代。

但我想显示如下图所示的项目:

我现在做了什么:

<template>
     <kendo-dropdownlist v-model="dropdownlistValue" 
                        :template="itemTemplate"
                        :data-source="CompanyList"
                        :data-text-field="'text'"
                        :data-value-field="'value'"
                        :filter="'contains'">
     </kendo-dropdownlist>
</template>

<script>
   import Vue from 'vue'
   import Template from "./Template.vue";
   var itemTemplate = Vue.component(Template.name, Template);
   export default {
    methods: {
      itemTemplate: function(e) {
         return {
           template: itemTemplate,
           templateArgs: e
         };
      }
    }
  }
</script>

Template.Vue

<template>
    <span>
        <button @click="buttonClick">{{templateArgs.value}}</button>
        {{templateArgs.text}}
    </span>
</template>

<script>
export default {
  name: "template1",
  methods: {
    buttonClick: function(e) {
      alert("Button click");
    }
  },
  data() {
    return {
      templateArgs: {}
    };
  }
};
</script>

如何在最后的剑道下拉列表中添加按钮模板。不在列表中项目的每次迭代中。

或者,还有其他解决方法吗?

请帮忙!

【问题讨论】:

    标签: vuejs2 kendo-ui-vue


    【解决方案1】:

    我可以使用footer-template 解决这个问题,默认情况下在 Kendo-Ui-Vue 上可用。

    下面是我使用的一些代码sn-p。

    HTML

    <kendo-dropdownlist 
             @open="onOpen" 
             :footer-template="footerTemplate"
             v-model="dropdownlistValue" 
             :data-source="CompanyList"
             :data-text-field="'text'"
             :data-value-field="'value'"
             filter="'contains'"> 
    </kendo-dropdownlist>
    

    SCRIPT

    methods: {
        onOpen(e) {
            var deleteAction = document.body.querySelectorAll(".k-footer");
            deleteAction.forEach(el => {
                el.addEventListener("click", this.buttonClick);
            });
        },
        buttonClick() {
            alert("hello")
        } 
    },
    data() {
          return {
           Title: null,
           footerTemplate: '<button type="button" class="btn btn-link btn-sm">Add New...</button>'
       }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-07
      • 1970-01-01
      • 2010-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多