提交 8eaf5756 编写于 作者: 无木

feat(table): editable component text align

使可编辑单元格显示的input中的文字对齐方式与列自身的align属性相匹配
上级 d018363d
...@@ -13,6 +13,7 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -315,6 +321,7 @@
getComponentProps, getComponentProps,
handleOptionsChange, handleOptionsChange,
getWrapperStyle, getWrapperStyle,
getWrapperClass,
getRowEditable, getRowEditable,
getValues, getValues,
handleEnter, handleEnter,
...@@ -326,6 +333,30 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -134,7 +125,7 @@
editValueMap: (value) => { editValueMap: (value) => {
return value ? '' : ''; return value ? '' : '';
}, },
width: 200, width: 100,
}, },
{ {
title: '开关', title: '开关',
...@@ -144,7 +135,7 @@ ...@@ -144,7 +135,7 @@
editValueMap: (value) => { editValueMap: (value) => {
return value ? '' : ''; return value ? '' : '';
}, },
width: 200, width: 100,
}, },
]; ];
export default defineComponent({ export default defineComponent({
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册