gpt4 book ai didi

javascript - js Tabulator 在复选框选择时触发事件 vue3js

转载 作者:行者123 更新时间:2023-12-05 05:38:56 24 4
gpt4 key购买 nike

我正在使用 Vue3 和 Tabulator (5.2.7) 来获取数据表。我正在使用 Composition API。

我在下面的位中省略了一些不相关的代码。

//DataTable.vue
<script setup>
import { TabulatorFull as Tabulator } from 'tabulator-tables';
import { useDataStore } from '@/stores/DataStore.vue';
import { ref, reactive, onMounted } from 'vue';

const store = useDataStore(); //get data from state manager

// this is as per the tabulator docs w/vue
const table = ref(null);
const tabulator = ref(null);
const tableData = reactive(store.getData);

onMounted(() => {
tabulator.value = new Tabulator(table.value, {
layout: "fitDataTable",
data: tableData,
reactiveLayout: true,
responsiveLayout: true,
selectable: 1, // be able to select only 1 row at a time
columns: [
{formatter: "rowSelection", titleFormatter: "rowSelection", headerSort: false, cellClick: function(e, cell) {
const r = cell.getRow();
console.log(r._row.data);
}
// some more data but its just regular title/field assoc.
]
})
});

// added this as per the comment reply
tabulator.value.on('rowClick', function(e, row) {
console.log('hello world')
})

//this did not work, but i tried it anyway
// tabulator.on('rowClick', function(e, row) {
// console.log('hello world')
// })
</script>


<template>
<div ref="table"></div>
</template>

很遗憾,我无法分享屏幕截图,但我有一张图片: enter image description here

所以我想要发生的是,当我勾选复选框(红色区域)时,它将控制台记录数据(并最终做其他事情)。当我单击绿色区域(单元格的其余部分)时,它会执行,同时也会选择该行。当我单击复选框时,它没有。该行已被选中,但它不会控制台日志或触发任何功能。

我尝试传递记录在案的 ( http://tabulator.info/docs/5.2/events#row ) 事件监听器和回调,但每次我尝试执行 table.on() 时,例如 table.on("rowDblClick", () => {return 1}) 它给我一个错误,提示 table.on 不是一个函数,行事件监听器在 5.0 中被删除了。

我使用 Tabulator 的唯一原因是因为 Vuetify 还不能与 Vue3 一起使用(如果我记得的话,它仍处于测试阶段),我在我的谷歌搜索中发现了这一点。

编辑:或者,如果有人知道如何让内置事件监听器或 rowClick 回调参数起作用,那将是一个可接受的解决方案。

最佳答案

如果您使用的是行选择格式化程序,那么您可以监听 rowSelectedrowDeselected 事件,它们将传入选定/取消选定行的行组件:

table.on("rowSelected", function(row){
//row - row component for the selected row
});

有关选择事件的文档可在此处找到: http://tabulator.info/docs/5.2/events#select

可以在此处找到有关如何使用行组件的文档: http://tabulator.info/docs/5.2/components#component-row

关于javascript - js Tabulator 在复选框选择时触发事件 vue3js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72811729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com