mirror of
https://github.com/vbenjs/gf-vben-admin.git
synced 2025-01-24 04:10:20 +08:00
feat(table): editable component text align
使可编辑单元格显示的input中的文字对齐方式与列自身的align属性相匹配
This commit is contained in:
parent
d018363ddc
commit
8eaf575626
@ -13,6 +13,7 @@
|
|||||||
:popoverVisible="getRuleVisible"
|
:popoverVisible="getRuleVisible"
|
||||||
:rule="getRule"
|
:rule="getRule"
|
||||||
:ruleMessage="ruleMessage"
|
:ruleMessage="ruleMessage"
|
||||||
|
:class="getWrapperClass"
|
||||||
size="small"
|
size="small"
|
||||||
ref="elRef"
|
ref="elRef"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
@ -140,6 +141,11 @@
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const getWrapperClass = computed(() => {
|
||||||
|
const { align = 'center' } = props.column;
|
||||||
|
return `edit-cell-align-${align}`;
|
||||||
|
});
|
||||||
|
|
||||||
const getRowEditable = computed(() => {
|
const getRowEditable = computed(() => {
|
||||||
const { editable } = props.record || {};
|
const { editable } = props.record || {};
|
||||||
return !!editable;
|
return !!editable;
|
||||||
@ -315,6 +321,7 @@
|
|||||||
getComponentProps,
|
getComponentProps,
|
||||||
handleOptionsChange,
|
handleOptionsChange,
|
||||||
getWrapperStyle,
|
getWrapperStyle,
|
||||||
|
getWrapperClass,
|
||||||
getRowEditable,
|
getRowEditable,
|
||||||
getValues,
|
getValues,
|
||||||
handleEnter,
|
handleEnter,
|
||||||
@ -326,6 +333,30 @@
|
|||||||
<style lang="less">
|
<style lang="less">
|
||||||
@prefix-cls: ~'@{namespace}-editable-cell';
|
@prefix-cls: ~'@{namespace}-editable-cell';
|
||||||
|
|
||||||
|
.edit-cell-align-left {
|
||||||
|
text-align: left;
|
||||||
|
|
||||||
|
input:not(.ant-calendar-picker-input, .ant-time-picker-input) {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.edit-cell-align-center {
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
input:not(.ant-calendar-picker-input, .ant-time-picker-input) {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.edit-cell-align-right {
|
||||||
|
text-align: right;
|
||||||
|
|
||||||
|
input:not(.ant-calendar-picker-input, .ant-time-picker-input) {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.edit-cell-rule-popover {
|
.edit-cell-rule-popover {
|
||||||
.ant-popover-inner-content {
|
.ant-popover-inner-content {
|
||||||
padding: 4px 8px;
|
padding: 4px 8px;
|
||||||
|
@ -28,33 +28,34 @@
|
|||||||
editComponentProps: {
|
editComponentProps: {
|
||||||
prefix: '$',
|
prefix: '$',
|
||||||
},
|
},
|
||||||
width: 200,
|
width: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '默认输入状态',
|
title: '默认输入状态',
|
||||||
dataIndex: 'name7',
|
dataIndex: 'name7',
|
||||||
editRow: true,
|
editRow: true,
|
||||||
width: 200,
|
width: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '输入框校验',
|
title: '输入框校验',
|
||||||
dataIndex: 'name1',
|
dataIndex: 'name1',
|
||||||
editRow: true,
|
editRow: true,
|
||||||
|
align: 'left',
|
||||||
// 默认必填校验
|
// 默认必填校验
|
||||||
editRule: true,
|
editRule: true,
|
||||||
width: 200,
|
width: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '输入框函数校验',
|
title: '输入框函数校验',
|
||||||
dataIndex: 'name2',
|
dataIndex: 'name2',
|
||||||
editRow: true,
|
editRow: true,
|
||||||
|
align: 'right',
|
||||||
editRule: async (text) => {
|
editRule: async (text) => {
|
||||||
if (text === '2') {
|
if (text === '2') {
|
||||||
return '不能输入该值';
|
return '不能输入该值';
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
},
|
},
|
||||||
width: 200,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '数字输入框',
|
title: '数字输入框',
|
||||||
@ -62,7 +63,7 @@
|
|||||||
editRow: true,
|
editRow: true,
|
||||||
editRule: true,
|
editRule: true,
|
||||||
editComponent: 'InputNumber',
|
editComponent: 'InputNumber',
|
||||||
width: 200,
|
width: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '下拉框',
|
title: '下拉框',
|
||||||
@ -102,7 +103,7 @@
|
|||||||
valueFormat: 'YYYY-MM-DD',
|
valueFormat: 'YYYY-MM-DD',
|
||||||
format: 'YYYY-MM-DD',
|
format: 'YYYY-MM-DD',
|
||||||
},
|
},
|
||||||
width: 200,
|
width: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '时间选择',
|
title: '时间选择',
|
||||||
@ -113,17 +114,7 @@
|
|||||||
valueFormat: 'HH:mm',
|
valueFormat: 'HH:mm',
|
||||||
format: 'HH:mm',
|
format: 'HH:mm',
|
||||||
},
|
},
|
||||||
width: 200,
|
width: 100,
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '远程下拉',
|
|
||||||
dataIndex: 'name4',
|
|
||||||
editRow: true,
|
|
||||||
editComponent: 'ApiSelect',
|
|
||||||
editComponentProps: {
|
|
||||||
api: optionsListApi,
|
|
||||||
},
|
|
||||||
width: 200,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '勾选框',
|
title: '勾选框',
|
||||||
@ -134,7 +125,7 @@
|
|||||||
editValueMap: (value) => {
|
editValueMap: (value) => {
|
||||||
return value ? '是' : '否';
|
return value ? '是' : '否';
|
||||||
},
|
},
|
||||||
width: 200,
|
width: 100,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '开关',
|
title: '开关',
|
||||||
@ -144,7 +135,7 @@
|
|||||||
editValueMap: (value) => {
|
editValueMap: (value) => {
|
||||||
return value ? '开' : '关';
|
return value ? '开' : '关';
|
||||||
},
|
},
|
||||||
width: 200,
|
width: 100,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
|
Loading…
Reference in New Issue
Block a user