0

使用 SyncFusion Vue Grid 组件,我需要在选择一行时调用一个函数。我尝试添加一列编辑按钮,但我找不到正确语法的文档,用于让按钮调用函数。我还尝试寻找一种方法,只要单击该行本身就调用一个函数,只要我可以确定单击了哪一行(访问该行中一个字段的值)就可以了。网格选择 API看起来只是用于以编程方式选择网格的一部分,这不是我想要做的。我试着按照这个解释但我无法弄清楚让按钮调用函数的语法。我查看了 Vue 和 SyncFusion 文档,但找不到具体的我想要做什么。以下是代码的相关部分。

<template>
<ejs-grid>
    <e-columns>
        <e-column
            headerText='Buttons'
            width='120'
           :template='cTemplate'></e-column>
        <e-column
            field="name"
            headerText="Name"
            :isPrimaryKey="true"
            width="60"
            ></e-column>
        <e-column
            field="generalSubject"
            headerText="Subject"
            width="40"
            ></e-column>
    </e-columns>
</ejs-grid>
</template>

<script>
export default Vue.extend({  
  data() {
    cTemplate: function () { 
        return { template : Vue.component('columnTemplate',{ 
            template: `<button v-on:click="fx">Edit</button>`, // <-- call fx() syntax??
                data: function() { 
                    return { 
                        data: {} 
                    } 
                },
        })}
    },
    fx: function() { // do something },
  },  
});
</script>
4

1 回答 1

1

您的要求可以通过使用 Grid 的 rowSelected 事件来实现。此事件在选择 Grid 行时触发,并在事件参数中返回当前行详细信息。

请找到以下基于此准备的示例供您参考,

示例: https ://codesandbox.io/s/vue-forked-0knlb?file=/src/App.vue

API 链接: https ://ej2.syncfusion.com/vue/documentation/api/grid/#rowselected

如果您需要进一步的帮助,请告诉我们。

问候,

苏吉思

于 2020-11-09T07:04:07.483 回答