Commit 4d6f24d0536b7204ea3452c560b6aaf087593be5

Authored by lzdjack
Committed by GitHub
1 parent 45b0be7f

perf: 优化ApiCascader回调函数change参数 (#2511)

src/components/Form/src/components/ApiCascader.vue
... ... @@ -170,7 +170,7 @@
170 170 );
171 171  
172 172 function handleChange(keys, args) {
173   - emitData.value = keys;
  173 + emitData.value = args;
174 174 emit('defaultChange', keys, args);
175 175 }
176 176  
... ...
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,
... ...