File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 66import san , { DataTypes } from 'san' ;
77import {
88 getMapKey ,
9+ memoize ,
910 prefixCls ,
1011 preventDefaultEvent ,
1112 toTitle
1213} from './util' ;
1314
15+ const getOptionsInfoWithMemory = memoize ( ) ;
16+
1417export default san . defineComponent ( {
1518 template : `
1619 <ul>
@@ -75,7 +78,7 @@ export default san.defineComponent({
7578 }
7679
7780 let selectedItems = selectedValues . map ( val => {
78- let info = optionsInfo [ getMapKey ( val ) ] || { label : val } ;
81+ let info = getOptionsInfoWithMemory ( optionsInfo ) [ getMapKey ( val ) ] || { label : val } ;
7982 let content = info . label ;
8083 const title = toTitle ( info . title || content ) ;
8184
Original file line number Diff line number Diff line change @@ -38,6 +38,14 @@ export function getMapKey(value) {
3838 return `${ typeof value } -${ value } ` ;
3939}
4040
41+ export function memoize ( ) {
42+ let cache = { } ;
43+ return function ( obj ) {
44+ cache = { ...cache , ...obj } ;
45+ return cache ;
46+ } ;
47+ }
48+
4149export function preventDefaultEvent ( e ) {
4250 e . preventDefault ( ) ;
4351}
You can’t perform that action at this time.
0 commit comments