Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-vue-admin
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-vue-admin
Commits
e08a155c
Unverified
提交
e08a155c
authored
10月 20, 2022
作者:
Wit〆苗大
提交者:
GitHub
10月 20, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(EditableCell): table 可编辑单元格和可编辑行 增加 单选框相关组件, 并增加示例 (#2294)
Co-authored-by: 苗大 <caoshengmiao@hypergryph.com>
上级
c37a15fe
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
117 行增加
和
5 行删除
+117
-5
table-demo.ts
mock/demo/table-demo.ts
+3
-0
componentMap.ts
src/components/Table/src/componentMap.ts
+5
-1
EditableCell.vue
...components/Table/src/components/editable/EditableCell.vue
+2
-2
componentType.ts
src/components/Table/src/types/componentType.ts
+4
-1
EditCellTable.vue
src/views/demo/table/EditCellTable.vue
+52
-1
EditRowTable.vue
src/views/demo/table/EditRowTable.vue
+51
-0
没有找到文件。
mock/demo/table-demo.ts
浏览文件 @
e08a155c
...
@@ -27,6 +27,9 @@ const demoList = (() => {
...
@@ -27,6 +27,9 @@ const demoList = (() => {
name6
:
'@cname()'
,
name6
:
'@cname()'
,
name7
:
'@cname()'
,
name7
:
'@cname()'
,
name8
:
'@cname()'
,
name8
:
'@cname()'
,
radio1
:
`选项
${
index
+
1
}
`
,
radio2
:
`选项
${
index
+
1
}
`
,
radio3
:
`选项
${
index
+
1
}
`
,
avatar
:
Random
.
image
(
'400x400'
,
Random
.
color
(),
Random
.
color
(),
Random
.
first
()),
avatar
:
Random
.
image
(
'400x400'
,
Random
.
color
(),
Random
.
color
(),
Random
.
first
()),
imgArr
:
getRandomPics
(
Math
.
ceil
(
Math
.
random
()
*
3
)
+
1
),
imgArr
:
getRandomPics
(
Math
.
ceil
(
Math
.
random
()
*
3
)
+
1
),
imgs
:
getRandomPics
(
Math
.
ceil
(
Math
.
random
()
*
3
)
+
1
),
imgs
:
getRandomPics
(
Math
.
ceil
(
Math
.
random
()
*
3
)
+
1
),
...
...
src/components/Table/src/componentMap.ts
浏览文件 @
e08a155c
...
@@ -8,9 +8,10 @@ import {
...
@@ -8,9 +8,10 @@ import {
DatePicker
,
DatePicker
,
TimePicker
,
TimePicker
,
AutoComplete
,
AutoComplete
,
Radio
,
}
from
'ant-design-vue'
;
}
from
'ant-design-vue'
;
import
type
{
ComponentType
}
from
'./types/componentType'
;
import
type
{
ComponentType
}
from
'./types/componentType'
;
import
{
ApiSelect
,
ApiTreeSelect
}
from
'/@/components/Form'
;
import
{
ApiSelect
,
ApiTreeSelect
,
RadioButtonGroup
,
ApiRadioGroup
}
from
'/@/components/Form'
;
const
componentMap
=
new
Map
<
ComponentType
,
Component
>
();
const
componentMap
=
new
Map
<
ComponentType
,
Component
>
();
...
@@ -24,6 +25,9 @@ componentMap.set('Switch', Switch);
...
@@ -24,6 +25,9 @@ componentMap.set('Switch', Switch);
componentMap
.
set
(
'Checkbox'
,
Checkbox
);
componentMap
.
set
(
'Checkbox'
,
Checkbox
);
componentMap
.
set
(
'DatePicker'
,
DatePicker
);
componentMap
.
set
(
'DatePicker'
,
DatePicker
);
componentMap
.
set
(
'TimePicker'
,
TimePicker
);
componentMap
.
set
(
'TimePicker'
,
TimePicker
);
componentMap
.
set
(
'RadioGroup'
,
Radio
.
Group
);
componentMap
.
set
(
'RadioButtonGroup'
,
RadioButtonGroup
);
componentMap
.
set
(
'ApiRadioGroup'
,
ApiRadioGroup
);
export
function
add
(
compName
:
ComponentType
,
component
:
Component
)
{
export
function
add
(
compName
:
ComponentType
,
component
:
Component
)
{
componentMap
.
set
(
compName
,
component
);
componentMap
.
set
(
compName
,
component
);
...
...
src/components/Table/src/components/editable/EditableCell.vue
浏览文件 @
e08a155c
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
import
{
propTypes
}
from
'/@/utils/propTypes'
;
import
{
propTypes
}
from
'/@/utils/propTypes'
;
import
{
isArray
,
isBoolean
,
isFunction
,
isNumber
,
isString
}
from
'/@/utils/is'
;
import
{
isArray
,
isBoolean
,
isFunction
,
isNumber
,
isString
}
from
'/@/utils/is'
;
import
{
createPlaceholderMessage
}
from
'./helper'
;
import
{
createPlaceholderMessage
}
from
'./helper'
;
import
{
omit
,
pick
,
set
}
from
'lodash-es'
;
import
{
pick
,
set
}
from
'lodash-es'
;
import
{
treeToList
}
from
'/@/utils/helper/treeHelper'
;
import
{
treeToList
}
from
'/@/utils/helper/treeHelper'
;
import
{
Spin
}
from
'ant-design-vue'
;
import
{
Spin
}
from
'ant-design-vue'
;
...
@@ -122,7 +122,7 @@
...
@@ -122,7 +122,7 @@
}
}
const
component
=
unref
(
getComponent
);
const
component
=
unref
(
getComponent
);
if
(
!
component
.
includes
(
'Select'
))
{
if
(
!
component
.
includes
(
'Select'
)
&&
!
component
.
includes
(
'Radio'
)
)
{
return
value
;
return
value
;
}
}
...
...
src/components/Table/src/types/componentType.ts
浏览文件 @
e08a155c
...
@@ -8,4 +8,7 @@ export type ComponentType =
...
@@ -8,4 +8,7 @@ export type ComponentType =
|
'Checkbox'
|
'Checkbox'
|
'Switch'
|
'Switch'
|
'DatePicker'
|
'DatePicker'
|
'TimePicker'
;
|
'TimePicker'
|
'RadioGroup'
|
'RadioButtonGroup'
|
'ApiRadioGroup'
;
src/views/demo/table/EditCellTable.vue
浏览文件 @
e08a155c
...
@@ -105,7 +105,7 @@
...
@@ -105,7 +105,7 @@
},
},
{
{
title
:
'远程下拉树'
,
title
:
'远程下拉树'
,
dataIndex
:
'name
71
'
,
dataIndex
:
'name
8
'
,
edit
:
true
,
edit
:
true
,
editComponent
:
'ApiTreeSelect'
,
editComponent
:
'ApiTreeSelect'
,
editRule
:
false
,
editRule
:
false
,
...
@@ -157,6 +157,57 @@
...
@@ -157,6 +157,57 @@
},
},
width
:
200
,
width
:
200
,
},
},
{
title
:
'单选框'
,
dataIndex
:
'radio1'
,
edit
:
true
,
editComponent
:
'RadioGroup'
,
editComponentProps
:
{
options
:
[
{
label
:
'选项1'
,
value
:
'1'
,
},
{
label
:
'选项2'
,
value
:
'2'
,
},
],
},
width
:
200
,
},
{
title
:
'单选按钮框'
,
dataIndex
:
'radio2'
,
edit
:
true
,
editComponent
:
'RadioButtonGroup'
,
editComponentProps
:
{
options
:
[
{
label
:
'选项1'
,
value
:
'1'
,
},
{
label
:
'选项2'
,
value
:
'2'
,
},
],
},
width
:
200
,
},
{
title
:
'远程单选框'
,
dataIndex
:
'radio3'
,
edit
:
true
,
editComponent
:
'ApiRadioGroup'
,
editComponentProps
:
{
api
:
optionsListApi
,
resultField
:
'list'
,
labelField
:
'name'
,
valueField
:
'id'
,
},
width
:
200
,
},
];
];
export
default
defineComponent
({
export
default
defineComponent
({
components
:
{
BasicTable
},
components
:
{
BasicTable
},
...
...
src/views/demo/table/EditRowTable.vue
浏览文件 @
e08a155c
...
@@ -162,6 +162,57 @@
...
@@ -162,6 +162,57 @@
},
},
width
:
100
,
width
:
100
,
},
},
{
title
:
'单选框'
,
dataIndex
:
'radio1'
,
editRow
:
true
,
editComponent
:
'RadioGroup'
,
editComponentProps
:
{
options
:
[
{
label
:
'选项1'
,
value
:
'1'
,
},
{
label
:
'选项2'
,
value
:
'2'
,
},
],
},
width
:
200
,
},
{
title
:
'单选按钮框'
,
dataIndex
:
'radio2'
,
editRow
:
true
,
editComponent
:
'RadioButtonGroup'
,
editComponentProps
:
{
options
:
[
{
label
:
'选项1'
,
value
:
'1'
,
},
{
label
:
'选项2'
,
value
:
'2'
,
},
],
},
width
:
200
,
},
{
title
:
'远程单选框'
,
dataIndex
:
'radio3'
,
editRow
:
true
,
editComponent
:
'ApiRadioGroup'
,
editComponentProps
:
{
api
:
optionsListApi
,
resultField
:
'list'
,
labelField
:
'name'
,
valueField
:
'id'
,
},
width
:
200
,
},
];
];
export
default
defineComponent
({
export
default
defineComponent
({
components
:
{
BasicTable
,
TableAction
},
components
:
{
BasicTable
,
TableAction
},
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论