@@ -52,26 +52,26 @@ export const handleClick = ({ api, props, state }) => (value) => {
5252
5353export const confirm = ( { state, emit } ) => ( ) => {
5454 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 }
5757 state . defaultSelectedArray [ state . headerIndex ] = state . defaultSelectedIndexs
58- emit ( 'confirm' , state . defaultSelectedIndexs , wheelLevelText )
58+ emit ( 'confirm' , selectedItems , state . headerIndex , state . defaultSelectedIndexs )
5959 state . showWheel = false
6060}
6161
6262export const reset = ( { api, props, state, emit } ) => ( ) => {
6363 state . headerInfo [ state . headerIndex ] = { isSelected : false , title : '' , isUP : false }
6464 state . defaultSelectedIndexs = props . defaultSelectedArray [ state . headerIndex ] ?? api . loadDefault ( state . headerIndex )
6565 state . defaultSelectedArray [ state . headerIndex ] = state . defaultSelectedIndexs
66- emit ( 'reset' , state . headerIndex )
66+ emit ( 'reset' , [ ] , state . headerIndex , state . defaultSelectedIndexs )
6767 state . showWheel = false
6868}
6969
7070export const wheelChange = ( state ) => ( indexs ) => {
7171 state . defaultSelectedIndexs = indexs
7272}
7373
74- export const clickWheelItem = ( { state, emit } ) => ( indexs , text ) => {
74+ export const clickWheelItem = ( { state, emit } ) => ( indexs , text , item ) => {
7575 if ( indexs . length === 0 ) {
7676
7777 // 反选
@@ -82,12 +82,12 @@ export const clickWheelItem = ({ state, emit }) => (indexs, text) => {
8282 state . headerInfo [ state . headerIndex ] = { isSelected : true , title : text , isUP : false }
8383 }
8484 state . defaultSelectedArray [ state . headerIndex ] = state . defaultSelectedIndexs
85- emit ( 'confirm' , indexs , text )
85+ emit ( 'confirm' , item , state . headerIndex , indexs )
8686 state . showWheel = false
8787}
8888
8989export const getWheelLevelItems = ( wheelData , newIndexs ) => {
90- const level_1 = wheelData . map ( ( { label } ) => ( { label } ) )
90+ const level_1 = wheelData
9191 const level_n = getNextLevel ( [ ] , wheelData , newIndexs , 0 )
9292 let wheelLevelItems = [ ]
9393 if ( level_n . length === 0 ) {
@@ -112,15 +112,16 @@ export const getNextLevel = (levelItems, children, nextIndexs, start) => {
112112 }
113113}
114114
115- export const getWheelLevelText = ( wheelLevelItems , selectedIndexs ) => {
116- const selectedLabels = [ ]
115+ export const getSelected = ( wheelLevelItems , selectedIndexs ) => {
116+ const selectedItems = [ ]
117117 wheelLevelItems . forEach ( ( levelItem , i ) => {
118118 const index = selectedIndexs [ i ]
119- if ( levelItem [ index ] ?. label ) {
120- selectedLabels . push ( levelItem [ index ] ?. label )
119+ if ( levelItem [ index ] ) {
120+ selectedItems . push ( levelItem [ index ] )
121121 }
122122 } ) ;
123- return selectedLabels . join ( ' ' )
123+ const selectedLabels = selectedItems . map ( item => item ?. label ) . join ( ' ' )
124+ return { selectedLabels, selectedItems }
124125}
125126
126127export const loadDefault = ( { props, state } ) => ( value ) => {
0 commit comments