События кликов в нижнем столбце DevExtreme DxDataGrid не запускаются

У меня есть следующий код:

<template>
    <div>
        <DxDataGrid :dataSource="viewerRoles">
            <DxColumn data-field="name"
                      caption="Ansicht" />
            <DxColumn data-field="description"
                      caption="Beschreibung" />
            <DxColumn type="buttons">
                <DxButton icon="preferences"
                          @click="test" />
            </DxColumn>
        </DxDataGrid>
        <button @click="test"></button>
    </div>
</template>

<script>
    import { DxDataGrid, DxColumn, DxButton } from 'devextreme-vue/data-grid'

    export default {
        name: 'Test',
        components: {
            DxDataGrid, DxColumn, DxButton
        },
        data() {
            return {
                viewerRoles: []
            }
        },
        async created() {
            const svcResp = await this.$http.get('Settings/ViewerRoles');

            if (svcResp.status === 200)
                this.viewerRoles = svcResp.data;
        },
        methods: {
            test() { alert('') }
        }
    }
</script>

Странно то, что если я нажму HTML <button>, браузер покажет предупреждение. Но на <DxButton> этого нет. Насколько я вижу, в консоли отладки ошибок нет.

Что не так с моим кодом?


person André Reichelt    schedule 18.03.2020    source источник


Ответы (1)


Вместо этого измените @click DxButton на :on-click, чтобы ваш код выглядел примерно так:

<DxColumn type="buttons">
  <DxButton icon="preferences"
            :on-click="test" />
</DxColumn>
person usafder    schedule 12.10.2020