Skip to content

Commit 0295a21

Browse files
authored
fix(checkbox): modify mobile problem (#2666)
1 parent cd7afd0 commit 0295a21

File tree

6 files changed

+34
-29
lines changed

6 files changed

+34
-29
lines changed

examples/sites/demos/mobile/app/checkbox/checkbox-group.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<template>
22
<div class="checkbox-wrap">
33
<tiny-checkbox-group v-model="checked">
4-
<tiny-checkbox label="复选框1"></tiny-checkbox>
5-
<tiny-checkbox label="复选框2"></tiny-checkbox>
4+
<tiny-checkbox label="复选框1">复选框1</tiny-checkbox>
5+
<tiny-checkbox label="复选框2">复选框2</tiny-checkbox>
66
</tiny-checkbox-group>
77
<p>当前选中的值为:{{ checked }}</p>
88
</div>

packages/mobile/components/checkbox-group/src/mobile.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,19 @@
2626

2727
<script lang="tsx">
2828
import { renderless, api } from './renderless/vue'
29-
import { setup, defineComponent } from '../../../vue-common'
29+
import { $prefix, setup, defineComponent } from '../../../vue-common'
3030
import Checkbox from '../../checkbox'
3131
import { CheckboxGroupProps } from './checkbox-group'
3232
import '@opentiny/vue-theme-mobile/checkbox-group/index.less'
3333
3434
export default defineComponent({
35+
name: $prefix + 'CheckboxGroup',
36+
componentName: 'CheckboxGroup',
3537
components: {
3638
Checkbox
3739
},
3840
props: CheckboxGroupProps,
41+
emits: ['change', 'update:modelValue'],
3942
setup(props, context) {
4043
return setup({ props, context, renderless, api })
4144
}

packages/mobile/components/checkbox/src/checkbox.ts

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,28 @@ import { $prefix } from '../../../vue-common'
1313
import type { PropType } from '../../../vue-common'
1414
import type { ExtractPropTypes, ComputedRef } from 'vue'
1515
import type { ISharedRenderlessFunctionParams, ISharedRenderlessParamUtils } from '../../../types/shared.type'
16+
17+
import type {
18+
addToStore,
19+
removeFromStore,
20+
computedStore,
21+
computedFormItemSize,
22+
computedIsChecked,
23+
computedIsLimitDisabled,
24+
computedIsDisabled,
25+
computedIsDisplayOnly,
26+
computedIsGroupDisplayOnly,
27+
computedGetModelGet,
28+
computedIsGroup,
29+
computedCheckboxSize,
30+
computedGetModelSet,
31+
mounted,
32+
handleChange,
33+
computedDisplayLabel,
34+
computedIsShowText,
35+
computedShowText
36+
} from './renderless'
37+
1638
export type { ISharedRenderlessParamHooks } from '../../../types/shared.type'
1739

1840
export type IconPosition = 'center' | 'top'
@@ -75,27 +97,6 @@ export const checkboxProps = {
7597
}
7698
}
7799

78-
import type {
79-
addToStore,
80-
removeFromStore,
81-
computedStore,
82-
computedFormItemSize,
83-
computedIsChecked,
84-
computedIsLimitDisabled,
85-
computedIsDisabled,
86-
computedIsDisplayOnly,
87-
computedIsGroupDisplayOnly,
88-
computedGetModelGet,
89-
computedIsGroup,
90-
computedCheckboxSize,
91-
computedGetModelSet,
92-
mounted,
93-
handleChange,
94-
computedDisplayLabel,
95-
computedIsShowText,
96-
computedShowText
97-
} from './renderless'
98-
99100
export type ICheckboxSizeEnum = 'medium' | 'small' | 'mini'
100101
export type ICheckboxModalValue = string | number | boolean
101102

packages/mobile/components/checkbox/src/mobile.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,13 @@
6464

6565
<script lang="ts">
6666
import { renderless, api } from './renderless/vue'
67-
import { setup, defineComponent } from '../../../vue-common'
67+
import { $prefix, setup, defineComponent } from '../../../vue-common'
6868
import { checkboxProps } from './checkbox'
6969
import '@opentiny/vue-theme-mobile/checkbox/index.less'
7070
7171
export default defineComponent({
72+
name: $prefix + 'Checkbox',
73+
componentName: 'Checkbox',
7274
props: checkboxProps,
7375
emits: ['update:modelValue', 'change', 'complete', 'click'],
7476
setup(props, context) {

packages/mobile/components/checkbox/src/renderless/index.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,9 @@ export const computedIsChecked =
111111
}
112112

113113
export const computedIsGroup =
114-
({ state, parent, constants }: Pick<ICheckboxRenderlessParams, 'state' | 'parent' | 'constants'>) =>
114+
({ state, vm, constants }: Pick<ICheckboxRenderlessParams, 'state' | 'vm' | 'constants'>) =>
115115
(): boolean => {
116-
let parentObj = parent.$parent
117-
116+
let parentObj = vm.$parent
118117
while (parentObj) {
119118
if (parentObj.$options.componentName !== constants.CHECKBOX_GROUP) {
120119
parentObj = parentObj.$parent

packages/mobile/components/checkbox/src/renderless/vue.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ const initApi = ({
108108
computedIsDisplayOnly: computedIsDisplayOnly({ state, props }),
109109
computedIsGroupDisplayOnly: computedIsGroupDisplayOnly({ state }),
110110
computedGetModelGet: computedGetModelGet({ state, props }),
111-
computedIsGroup: computedIsGroup({ state, parent, constants }),
111+
computedIsGroup: computedIsGroup({ state, vm, constants }),
112112
computedCheckboxSize: computedCheckboxSize({ state, props, formItemSize }),
113113
computedGetModelSet: computedGetModelSet({ state, dispatch, emit, constants }),
114114
mounted: mounted({ emit, props, api, parent }),

0 commit comments

Comments
 (0)