Commit fab7a6c58d586300d58e1b6837927e1569b57aa5

Authored by Vben
1 parent e15737b9

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

mock/demo/select-demo.ts
... ... @@ -15,7 +15,7 @@ const demoList = (() => {
15 15 export default [
16 16 {
17 17 url: '/basic-api/select/getDemoOptions',
18   - timeout: 4000,
  18 + timeout: 2000,
19 19 method: 'get',
20 20 response: ({ query }) => {
21 21 console.log(query);
... ...
src/components/Table/src/components/editable/EditableCell.vue
... ... @@ -13,7 +13,6 @@
13 13 :popoverVisible="getRuleVisible"
14 14 :rule="getRule"
15 15 :ruleMessage="ruleMessage"
16   - allowClear
17 16 size="small"
18 17 ref="elRef"
19 18 @change="handleChange"
... ... @@ -183,14 +182,16 @@
183 182  
184 183 async function handleChange(e: any) {
185 184 const component = unref(getComponent);
186   - if (e?.target && Reflect.has(e.target, 'value')) {
  185 + if (!e) {
  186 + currentValueRef.value = e;
  187 + } else if (e?.target && Reflect.has(e.target, 'value')) {
187 188 currentValueRef.value = (e as ChangeEvent).target.value;
188   - }
189   - if (component === 'Checkbox') {
  189 + } else if (component === 'Checkbox') {
190 190 currentValueRef.value = (e as ChangeEvent).target.checked;
191 191 } else if (isString(e) || isBoolean(e) || isNumber(e)) {
192 192 currentValueRef.value = e;
193 193 }
  194 +
194 195 table.emit?.('edit-change', {
195 196 column: props.column,
196 197 value: unref(currentValueRef),
... ...