File tree Expand file tree Collapse file tree 1 file changed +7
-1
lines changed
packages/components/select Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -246,14 +246,20 @@ export default defineComponent({
246246 */
247247 const onCheckAllChange = ( checked : boolean ) => {
248248 if ( ! props . multiple ) return ;
249+ const { value } = keys . value ;
249250 // disabled状态的选项,不参与全选的计算,始终保留
250251 const lockedValues = innerValue . value . filter ( ( value : string | number | boolean ) => {
251252 return optionsList . value . find ( ( item ) => item . value === value && item . disabled ) ;
252253 } ) ;
253254
254255 const activeValues = optionalList . value . map ( ( option ) => option . value ) ;
256+ const formattedOrgValue =
257+ props . valueType === 'object'
258+ ? ( orgValue . value as Array < SelectValue > ) . map ( ( v ) => get ( v , value ) )
259+ : orgValue . value ;
260+
255261 const values = checked
256- ? [ ...new Set ( [ ...( orgValue . value as Array < SelectValue > ) , ...activeValues , ...lockedValues ] ) ]
262+ ? [ ...new Set ( [ ...( formattedOrgValue as Array < SelectValue > ) , ...activeValues , ...lockedValues ] ) ]
257263 : [ ...lockedValues ] ;
258264 setInnerValue ( values , { selectedOptions : getSelectedOptions ( values ) , trigger : checked ? 'check' : 'clear' } ) ;
259265 } ;
You can’t perform that action at this time.
0 commit comments