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 | 67 | import { treeOptionsListApi } from '/@/api/demo/tree'; |
68 | 68 | import { Select } from 'ant-design-vue'; |
69 | 69 | import { cloneDeep } from 'lodash-es'; |
70 | + import { areaRecord } from '/@/api/demo/cascader'; | |
70 | 71 | |
71 | 72 | const valueSelectA = ref<string[]>([]); |
72 | 73 | const valueSelectB = ref<string[]>([]); |
... | ... | @@ -293,6 +294,9 @@ |
293 | 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 | 362 | params: { |
359 | 363 | id: 1, |
360 | 364 | }, |
365 | + | |
361 | 366 | resultField: 'list', |
362 | 367 | // use name as label |
363 | 368 | labelField: 'name', |
364 | 369 | // use id as value |
365 | 370 | valueField: 'id', |
366 | 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 | 376 | // atfer request callback |
372 | 377 | onOptionsChange: (options) => { |
... | ... | @@ -379,6 +384,31 @@ |
379 | 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 | 412 | field: 'field31', |
383 | 413 | component: 'Input', |
384 | 414 | label: '下拉本地搜索', |
... | ... | @@ -411,6 +441,9 @@ |
411 | 441 | componentProps: { |
412 | 442 | api: treeOptionsListApi, |
413 | 443 | resultField: 'list', |
444 | + onChange: (e, v) => { | |
445 | + console.log('ApiTreeSelect====>:', e, v); | |
446 | + }, | |
414 | 447 | }, |
415 | 448 | colProps: { |
416 | 449 | span: 8, |
... | ... | @@ -455,6 +488,9 @@ |
455 | 488 | // use id as value |
456 | 489 | valueField: 'id', |
457 | 490 | isBtn: true, |
491 | + onChange: (e, v) => { | |
492 | + console.log('ApiRadioGroup====>:', e, v); | |
493 | + }, | |
458 | 494 | }, |
459 | 495 | colProps: { |
460 | 496 | span: 8, | ... | ... |