Skip to content

Commit

Permalink
feat(table): editable component text align
Browse files Browse the repository at this point in the history
使可编辑单元格显示的input中的文字对齐方式与列自身的align属性相匹配
  • Loading branch information
mynetfan committed May 26, 2021
1 parent d018363 commit 8eaf575
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 19 deletions.
31 changes: 31 additions & 0 deletions src/components/Table/src/components/editable/EditableCell.vue
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
:popoverVisible="getRuleVisible"
:rule="getRule"
:ruleMessage="ruleMessage"
:class="getWrapperClass"
size="small"
ref="elRef"
@change="handleChange"
Expand Down Expand Up @@ -140,6 +141,11 @@
};
});
const getWrapperClass = computed(() => {
const { align = 'center' } = props.column;
return `edit-cell-align-${align}`;
});
const getRowEditable = computed(() => {
const { editable } = props.record || {};
return !!editable;
Expand Down Expand Up @@ -315,6 +321,7 @@
getComponentProps,
handleOptionsChange,
getWrapperStyle,
getWrapperClass,
getRowEditable,
getValues,
handleEnter,
Expand All @@ -326,6 +333,30 @@
<style lang="less">
@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 {
.ant-popover-inner-content {
padding: 4px 8px;
Expand Down
29 changes: 10 additions & 19 deletions src/views/demo/table/EditRowTable.vue
Original file line number Diff line number Diff line change
Expand Up @@ -28,41 +28,42 @@
editComponentProps: {
prefix: '$',
},
width: 200,
width: 150,
},
{
title: '默认输入状态',
dataIndex: 'name7',
editRow: true,
width: 200,
width: 150,
},
{
title: '输入框校验',
dataIndex: 'name1',
editRow: true,
align: 'left',
// 默认必填校验
editRule: true,
width: 200,
width: 150,
},
{
title: '输入框函数校验',
dataIndex: 'name2',
editRow: true,
align: 'right',
editRule: async (text) => {
if (text === '2') {
return '不能输入该值';
}
return '';
},
width: 200,
},
{
title: '数字输入框',
dataIndex: 'id',
editRow: true,
editRule: true,
editComponent: 'InputNumber',
width: 200,
width: 150,
},
{
title: '下拉框',
Expand Down Expand Up @@ -102,7 +103,7 @@
valueFormat: 'YYYY-MM-DD',
format: 'YYYY-MM-DD',
},
width: 200,
width: 150,
},
{
title: '时间选择',
Expand All @@ -113,17 +114,7 @@
valueFormat: 'HH:mm',
format: 'HH:mm',
},
width: 200,
},
{
title: '远程下拉',
dataIndex: 'name4',
editRow: true,
editComponent: 'ApiSelect',
editComponentProps: {
api: optionsListApi,
},
width: 200,
width: 100,
},
{
title: '勾选框',
Expand All @@ -134,7 +125,7 @@
editValueMap: (value) => {
return value ? '' : '';
},
width: 200,
width: 100,
},
{
title: '开关',
Expand All @@ -144,7 +135,7 @@
editValueMap: (value) => {
return value ? '' : '';
},
width: 200,
width: 100,
},
];
export default defineComponent({
Expand Down

0 comments on commit 8eaf575

Please sign in to comment.