@@ -52,26 +52,26 @@ export const handleClick = ({ api, props, state }) => (value) => {
52
52
53
53
export const confirm = ( { state, emit } ) => ( ) => {
54
54
const wheelLevelItems = getWheelLevelItems ( state . wheelData , state . defaultSelectedIndexs )
55
- const wheelLevelText = getWheelLevelText ( wheelLevelItems , state . defaultSelectedIndexs )
56
- state . headerInfo [ state . headerIndex ] = { isSelected : true , title : wheelLevelText , isUP : false }
55
+ const { selectedLabels , selectedItems } = getSelected ( wheelLevelItems , state . defaultSelectedIndexs )
56
+ state . headerInfo [ state . headerIndex ] = { isSelected : true , title : selectedLabels , isUP : false }
57
57
state . defaultSelectedArray [ state . headerIndex ] = state . defaultSelectedIndexs
58
- emit ( 'confirm' , state . defaultSelectedIndexs , wheelLevelText )
58
+ emit ( 'confirm' , selectedItems , state . headerIndex , state . defaultSelectedIndexs )
59
59
state . showWheel = false
60
60
}
61
61
62
62
export const reset = ( { api, props, state, emit } ) => ( ) => {
63
63
state . headerInfo [ state . headerIndex ] = { isSelected : false , title : '' , isUP : false }
64
64
state . defaultSelectedIndexs = props . defaultSelectedArray [ state . headerIndex ] ?? api . loadDefault ( state . headerIndex )
65
65
state . defaultSelectedArray [ state . headerIndex ] = state . defaultSelectedIndexs
66
- emit ( 'reset' , state . headerIndex )
66
+ emit ( 'reset' , [ ] , state . headerIndex , state . defaultSelectedIndexs )
67
67
state . showWheel = false
68
68
}
69
69
70
70
export const wheelChange = ( state ) => ( indexs ) => {
71
71
state . defaultSelectedIndexs = indexs
72
72
}
73
73
74
- export const clickWheelItem = ( { state, emit } ) => ( indexs , text ) => {
74
+ export const clickWheelItem = ( { state, emit } ) => ( indexs , text , item ) => {
75
75
if ( indexs . length === 0 ) {
76
76
77
77
// 反选
@@ -82,12 +82,12 @@ export const clickWheelItem = ({ state, emit }) => (indexs, text) => {
82
82
state . headerInfo [ state . headerIndex ] = { isSelected : true , title : text , isUP : false }
83
83
}
84
84
state . defaultSelectedArray [ state . headerIndex ] = state . defaultSelectedIndexs
85
- emit ( 'confirm' , indexs , text )
85
+ emit ( 'confirm' , item , state . headerIndex , indexs )
86
86
state . showWheel = false
87
87
}
88
88
89
89
export const getWheelLevelItems = ( wheelData , newIndexs ) => {
90
- const level_1 = wheelData . map ( ( { label } ) => ( { label } ) )
90
+ const level_1 = wheelData
91
91
const level_n = getNextLevel ( [ ] , wheelData , newIndexs , 0 )
92
92
let wheelLevelItems = [ ]
93
93
if ( level_n . length === 0 ) {
@@ -112,15 +112,16 @@ export const getNextLevel = (levelItems, children, nextIndexs, start) => {
112
112
}
113
113
}
114
114
115
- export const getWheelLevelText = ( wheelLevelItems , selectedIndexs ) => {
116
- const selectedLabels = [ ]
115
+ export const getSelected = ( wheelLevelItems , selectedIndexs ) => {
116
+ const selectedItems = [ ]
117
117
wheelLevelItems . forEach ( ( levelItem , i ) => {
118
118
const index = selectedIndexs [ i ]
119
- if ( levelItem [ index ] ?. label ) {
120
- selectedLabels . push ( levelItem [ index ] ?. label )
119
+ if ( levelItem [ index ] ) {
120
+ selectedItems . push ( levelItem [ index ] )
121
121
}
122
122
} ) ;
123
- return selectedLabels . join ( ' ' )
123
+ const selectedLabels = selectedItems . map ( item => item ?. label ) . join ( ' ' )
124
+ return { selectedLabels, selectedItems }
124
125
}
125
126
126
127
export const loadDefault = ( { props, state } ) => ( value ) => {
0 commit comments