支持 Vue 3.2.x 语法升级为,script setup

This commit is contained in:
xiaoma
2021-08-14 14:35:42 +08:00
parent d3f7fa0f9e
commit 905984367c
71 changed files with 2362 additions and 2116 deletions

View File

@@ -7,23 +7,25 @@
</n-icon>
</div>
<div class="flex editable-cell-content" v-show="isEdit" v-click-outside="onClickOutside">
<CellComponent
v-bind="getComponentProps"
:component="getComponent"
:style="getWrapperStyle"
:popoverVisible="getRuleVisible"
:ruleMessage="ruleMessage"
:rule="getRule"
:class="getWrapperClass"
ref="elRef"
@options-change="handleOptionsChange"
@pressEnter="handleEnter"
/>
<div class="editable-cell-content-comp">
<CellComponent
v-bind="getComponentProps"
:component="getComponent"
:style="getWrapperStyle"
:popoverVisible="getRuleVisible"
:ruleMessage="ruleMessage"
:rule="getRule"
:class="getWrapperClass"
ref="elRef"
@options-change="handleOptionsChange"
@pressEnter="handleEnter"
/>
</div>
<div class="editable-cell-action" v-if="!getRowEditable">
<n-icon class="cursor-pointer mx-2">
<n-icon class="mx-2 cursor-pointer">
<CheckOutlined @click="handleSubmit" />
</n-icon>
<n-icon class="cursor-pointer mx-2">
<n-icon class="mx-2 cursor-pointer">
<CloseOutlined @click="handleCancel" />
</n-icon>
</div>
@@ -49,7 +51,7 @@
import { set, omit } from 'lodash-es';
import { EventEnum } from '@/components/Table/src/componentMap';
import { milliseconds } from 'date-fns';
import { milliseconds, format } from 'date-fns';
export default defineComponent({
name: 'EditableCell',
@@ -196,12 +198,9 @@
currentValueRef.value = e;
}
//TODO 这里组件参数格式和dayjs格式不一致
//TODO 根据组件格式化值
// if (component === 'NDatePicker') {
// let format = (props.column.editComponentProps?.format)
// .replace(/yyyy/g, 'YYYY')
// .replace(/dd/g, 'DD');
// currentValueRef.value = dayjs(currentValueRef.value).format(format);
// currentValueRef.value = format(currentValueRef.value,'yyyy-MM-dd HH:mm:ss');
// }
const onChange = props.column?.editComponentProps?.onChange;
@@ -377,6 +376,10 @@
white-space: nowrap;
text-overflow: ellipsis;
&-comp{
flex: 1;
}
.edit-icon {
font-size: 14px;
//position: absolute;