【fix 66426】JTable修复插槽不能使用

This commit is contained in:
danshihao
2023-03-20 18:32:08 +08:00
parent 054eb6beac
commit 7c244fb38e
3 changed files with 194 additions and 94 deletions
+42 -2
View File
@@ -8,12 +8,24 @@
</div>
<j-table bordered
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:table-key="$route.name + '_table'"
:table-key="$route.name + '_table1'"
ref="table"
rowKey="key"
:data-source="dataSource"
:scroll.sync="scroll"
:columns.sync="columns">
<!-- 使用插槽 -->
<a slot="name" slot-scope="{text}">{{ text }}</a>
<span slot="customTitle"><a-icon type="smile-o" /> Name</span>
<span slot="tags" slot-scope="{text: tags}">
<a-tag
v-for="tag in tags"
:key="tag"
:color="tag === 'loser' ? 'volcano' : tag.length > 5 ? 'geekblue' : 'green'"
>
{{ tag.toUpperCase() }}
</a-tag>
</span>
<span slot="action" slot-scope="{record}">
<a-popconfirm
@@ -24,6 +36,10 @@
<a href="javascript:">Delete</a>
</a-popconfirm>
</span>
<template slot="footer" slot-scope="currentPageData">
Footer{{ currentPageData }}
</template>
</j-table>
</div>
@@ -61,6 +77,20 @@ export default {
dataIndex: 'date',
width: 200
},
{
// 标题使用插槽使用这个代替title(用于设置里显示列名)
columnTitle: 'Name',
dataIndex: 'name',
key: 'name',
slots: { title: 'customTitle' },
scopedSlots: { customRender: 'name' }
},
{
title: 'Tags',
key: 'tags',
dataIndex: 'tags',
scopedSlots: { customRender: 'tags' }
},
{
resizable: true, // 可拖拽属性
title: 'Amount',
@@ -75,9 +105,13 @@ export default {
},
{
title: 'Note',
dataIndex: 'note'
dataIndex: 'note',
// 保留一列自适应
// width: 100
// 建议:没有宽度的列至少一列禁止自定义(解决冻结或隐藏列导致出现空列)
// disabledHide: true,
// disabledFreeze: true,
hideSettingColumn: true
},
{
title: 'Action',
@@ -90,6 +124,8 @@ export default {
const dataSource = [
{
key: 0,
name: 'John Brown',
tags: ['nice', 'developer'],
date: '2018-02-11',
amount: 120,
type: 'income',
@@ -97,6 +133,8 @@ export default {
},
{
key: 1,
name: 'Jim Green',
tags: ['loser'],
date: '2018-03-11',
amount: 243,
type: 'income',
@@ -104,6 +142,8 @@ export default {
},
{
key: 2,
name: 'Joe Black',
tags: ['cool', 'teacher'],
date: '2018-04-11',
amount: 98,
type: 'income',