소스 검색

fix(table): ensure that editable cell values are echoed correctly close #335

Vben 4 년 전
부모
커밋
fab7a6c58d
2개의 변경된 파일6개의 추가작업 그리고 5개의 파일을 삭제
  1. 1 1
      mock/demo/select-demo.ts
  2. 5 4
      src/components/Table/src/components/editable/EditableCell.vue

+ 1 - 1
mock/demo/select-demo.ts

@@ -15,7 +15,7 @@ const demoList = (() => {
 export default [
   {
     url: '/basic-api/select/getDemoOptions',
-    timeout: 4000,
+    timeout: 2000,
     method: 'get',
     response: ({ query }) => {
       console.log(query);

+ 5 - 4
src/components/Table/src/components/editable/EditableCell.vue

@@ -13,7 +13,6 @@
         :popoverVisible="getRuleVisible"
         :rule="getRule"
         :ruleMessage="ruleMessage"
-        allowClear
         size="small"
         ref="elRef"
         @change="handleChange"
@@ -183,14 +182,16 @@
 
       async function handleChange(e: any) {
         const component = unref(getComponent);
-        if (e?.target && Reflect.has(e.target, 'value')) {
+        if (!e) {
+          currentValueRef.value = e;
+        } else if (e?.target && Reflect.has(e.target, 'value')) {
           currentValueRef.value = (e as ChangeEvent).target.value;
-        }
-        if (component === 'Checkbox') {
+        } else if (component === 'Checkbox') {
           currentValueRef.value = (e as ChangeEvent).target.checked;
         } else if (isString(e) || isBoolean(e) || isNumber(e)) {
           currentValueRef.value = e;
         }
+
         table.emit?.('edit-change', {
           column: props.column,
           value: unref(currentValueRef),