二维表头
This commit is contained in:
@@ -46,7 +46,22 @@
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column v-for="(item, key) in column" :key="key" :field="key" v-bind="item"></vxe-column>
|
||||
<vxe-column v-for="(item, key) in column" :key="key" :field="key" v-bind="item">
|
||||
<template #default="{ row }" v-if="key === 'hasChildren'">
|
||||
<div :class="{ 'is-sub-field': row.isSubField }">
|
||||
<el-button
|
||||
v-if="!row.isSubField"
|
||||
:type="item.editRender?.buttonType || 'primary'"
|
||||
:size="item.editRender?.buttonSize || 'small'"
|
||||
:disabled="item.editRender?.disabled ? item.editRender.disabled(row) : false"
|
||||
@click.stop="handleButtonClick(item, row)"
|
||||
>
|
||||
{{ item.editRender?.buttonText || '添加子字段' }}
|
||||
</el-button>
|
||||
<span v-else>-</span>
|
||||
</div>
|
||||
</template>
|
||||
</vxe-column>
|
||||
</vxe-table>
|
||||
</template>
|
||||
|
||||
@@ -65,6 +80,33 @@ const emit = defineEmits(['selection-change', 'cell-click', 'dropdown-command'])
|
||||
|
||||
const vxeTableRef = ref()
|
||||
|
||||
// 处理按钮点击事件
|
||||
const handleButtonClick = (item, row) => {
|
||||
// 检查editRender是否存在
|
||||
if (!item.editRender) {
|
||||
return
|
||||
}
|
||||
|
||||
// 检查events是否存在
|
||||
if (!item.editRender.events) {
|
||||
return
|
||||
}
|
||||
|
||||
// 检查click事件是否存在
|
||||
if (!item.editRender.events.click) {
|
||||
return
|
||||
}
|
||||
|
||||
// 执行自定义点击事件
|
||||
item.editRender.events.click(row)
|
||||
}
|
||||
|
||||
// 测试点击方法
|
||||
const testClick = (row) => {
|
||||
console.log('测试按钮被点击:', row)
|
||||
alert('测试按钮工作正常!')
|
||||
}
|
||||
|
||||
defineExpose({ vxeTableRef })
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user