Commit 4d6f24d0536b7204ea3452c560b6aaf087593be5
Committed by
GitHub
1 parent
45b0be7f
perf: 优化ApiCascader回调函数change参数 (#2511)
Showing
2 changed files
with
40 additions
and
4 deletions
src/components/Form/src/components/ApiCascader.vue
src/views/demo/form/index.vue
@@ -67,6 +67,7 @@ | @@ -67,6 +67,7 @@ | ||
67 | import { treeOptionsListApi } from '/@/api/demo/tree'; | 67 | import { treeOptionsListApi } from '/@/api/demo/tree'; |
68 | import { Select } from 'ant-design-vue'; | 68 | import { Select } from 'ant-design-vue'; |
69 | import { cloneDeep } from 'lodash-es'; | 69 | import { cloneDeep } from 'lodash-es'; |
70 | + import { areaRecord } from '/@/api/demo/cascader'; | ||
70 | 71 | ||
71 | const valueSelectA = ref<string[]>([]); | 72 | const valueSelectA = ref<string[]>([]); |
72 | const valueSelectB = ref<string[]>([]); | 73 | const valueSelectB = ref<string[]>([]); |
@@ -293,6 +294,9 @@ | @@ -293,6 +294,9 @@ | ||
293 | value: '2', | 294 | value: '2', |
294 | }, | 295 | }, |
295 | ], | 296 | ], |
297 | + onChange: (e, v) => { | ||
298 | + console.log('RadioButtonGroup====>:', e, v); | ||
299 | + }, | ||
296 | }, | 300 | }, |
297 | }, | 301 | }, |
298 | { | 302 | { |
@@ -358,15 +362,16 @@ | @@ -358,15 +362,16 @@ | ||
358 | params: { | 362 | params: { |
359 | id: 1, | 363 | id: 1, |
360 | }, | 364 | }, |
365 | + | ||
361 | resultField: 'list', | 366 | resultField: 'list', |
362 | // use name as label | 367 | // use name as label |
363 | labelField: 'name', | 368 | labelField: 'name', |
364 | // use id as value | 369 | // use id as value |
365 | valueField: 'id', | 370 | valueField: 'id', |
366 | // not request untill to select | 371 | // not request untill to select |
367 | - immediate: false, | ||
368 | - onChange: (e) => { | ||
369 | - console.log('selected:', e); | 372 | + immediate: true, |
373 | + onChange: (e, v) => { | ||
374 | + console.log('ApiSelect====>:', e, v); | ||
370 | }, | 375 | }, |
371 | // atfer request callback | 376 | // atfer request callback |
372 | onOptionsChange: (options) => { | 377 | onOptionsChange: (options) => { |
@@ -379,6 +384,31 @@ | @@ -379,6 +384,31 @@ | ||
379 | defaultValue: '0', | 384 | defaultValue: '0', |
380 | }, | 385 | }, |
381 | { | 386 | { |
387 | + field: 'field8', | ||
388 | + component: 'ApiCascader', | ||
389 | + label: '联动ApiCascader', | ||
390 | + required: true, | ||
391 | + colProps: { | ||
392 | + span: 8, | ||
393 | + }, | ||
394 | + componentProps: { | ||
395 | + api: areaRecord, | ||
396 | + apiParamKey: 'parentCode', | ||
397 | + dataField: 'data', | ||
398 | + labelField: 'name', | ||
399 | + valueField: 'code', | ||
400 | + initFetchParams: { | ||
401 | + parentCode: '', | ||
402 | + }, | ||
403 | + isLeaf: (record) => { | ||
404 | + return !(record.levelType < 3); | ||
405 | + }, | ||
406 | + onChange: (e, ...v) => { | ||
407 | + console.log('ApiCascader====>:', e, v); | ||
408 | + }, | ||
409 | + }, | ||
410 | + }, | ||
411 | + { | ||
382 | field: 'field31', | 412 | field: 'field31', |
383 | component: 'Input', | 413 | component: 'Input', |
384 | label: '下拉本地搜索', | 414 | label: '下拉本地搜索', |
@@ -411,6 +441,9 @@ | @@ -411,6 +441,9 @@ | ||
411 | componentProps: { | 441 | componentProps: { |
412 | api: treeOptionsListApi, | 442 | api: treeOptionsListApi, |
413 | resultField: 'list', | 443 | resultField: 'list', |
444 | + onChange: (e, v) => { | ||
445 | + console.log('ApiTreeSelect====>:', e, v); | ||
446 | + }, | ||
414 | }, | 447 | }, |
415 | colProps: { | 448 | colProps: { |
416 | span: 8, | 449 | span: 8, |
@@ -455,6 +488,9 @@ | @@ -455,6 +488,9 @@ | ||
455 | // use id as value | 488 | // use id as value |
456 | valueField: 'id', | 489 | valueField: 'id', |
457 | isBtn: true, | 490 | isBtn: true, |
491 | + onChange: (e, v) => { | ||
492 | + console.log('ApiRadioGroup====>:', e, v); | ||
493 | + }, | ||
458 | }, | 494 | }, |
459 | colProps: { | 495 | colProps: { |
460 | span: 8, | 496 | span: 8, |