From c7dfc2fcd79564e48e38728d8729364c7d2106ed Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 10 Dec 2021 00:10:36 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat(radio):=20=E5=90=8C=E6=AD=A5=20ng=20?= =?UTF-8?q?=E7=89=88=20radio-group=20=E7=9A=84=20direction=20=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=EF=BC=8C=E5=BA=9F=E5=BC=83=20cssStyle=20=E5=B1=9E?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devui/radio/__tests__/radio-group.spec.ts | 4 +- .../devui-vue/devui/radio/src/radio-group.tsx | 43 +++++++++---------- .../devui-vue/devui/radio/src/radio-types.ts | 2 +- .../devui-vue/docs/components/radio/index.md | 12 +++--- .../docs/en-US/components/radio/index.md | 12 +++--- 5 files changed, 36 insertions(+), 37 deletions(-) diff --git a/packages/devui-vue/devui/radio/__tests__/radio-group.spec.ts b/packages/devui-vue/devui/radio/__tests__/radio-group.spec.ts index c28a920c..56310968 100644 --- a/packages/devui-vue/devui/radio/__tests__/radio-group.spec.ts +++ b/packages/devui-vue/devui/radio/__tests__/radio-group.spec.ts @@ -41,7 +41,7 @@ describe('RadioGroup', () => { expect(onChange).toHaveBeenCalledTimes(1); }); - it('radioGroup cssStyle work', async () => { + it('radioGroup direction work', async () => { const wrapper = mount(DRadioGroup, { props: { value: 'Item1' @@ -51,7 +51,7 @@ describe('RadioGroup', () => { await wrapper.setProps({ value: 'Item1', - cssStyle: 'row' + direction: 'row' }); expect(wrapper.html()).toMatch('is-row'); }); diff --git a/packages/devui-vue/devui/radio/src/radio-group.tsx b/packages/devui-vue/devui/radio/src/radio-group.tsx index f636bd06..b851a190 100644 --- a/packages/devui-vue/devui/radio/src/radio-group.tsx +++ b/packages/devui-vue/devui/radio/src/radio-group.tsx @@ -1,7 +1,7 @@ -import { defineComponent, provide, toRef, ExtractPropTypes } from 'vue'; +import { defineComponent, provide, toRef, ExtractPropTypes } from 'vue' import DRadio from './radio' -import { radioGroupProps, radioGroupInjectionKey } from './radio-types'; -import './radio-group.scss'; +import { radioGroupProps, radioGroupInjectionKey } from './radio-types' +import './radio-group.scss' export default defineComponent({ name: 'DRadioGroup', @@ -10,9 +10,9 @@ export default defineComponent({ setup(props: ExtractPropTypes, { emit }) { /** change 事件 */ const emitChange = (radioValue: string) => { - emit('update:modelValue', radioValue); - emit('change', radioValue); - }; + emit('update:modelValue', radioValue) + emit('change', radioValue) + } // 注入给子组件 provide(radioGroupInjectionKey, { @@ -21,23 +21,20 @@ export default defineComponent({ disabled: toRef(props, 'disabled'), beforeChange: props.beforeChange, emitChange - }); + }) }, render() { - const { - cssStyle, - values - } = this; + const { values, direction } = this /** 获取展示内容 */ const getContent = () => { - const defaultSlot = this.$slots.default; + const defaultSlot = this.$slots.default // 有默认插槽则使用默认插槽 if (defaultSlot) { return defaultSlot() } // 有数据列表则使用数据列表 else if (Array.isArray(values)) { - return values.map(item => { + return values.map((item) => { return ( {item} @@ -52,15 +49,17 @@ export default defineComponent({ } return ( -
+
{getContent()}
- ); + ) } -}); +}) diff --git a/packages/devui-vue/devui/radio/src/radio-types.ts b/packages/devui-vue/devui/radio/src/radio-types.ts index f4aa59b7..8448f86e 100644 --- a/packages/devui-vue/devui/radio/src/radio-types.ts +++ b/packages/devui-vue/devui/radio/src/radio-types.ts @@ -44,7 +44,7 @@ export const radioGroupProps = { default: null, }, /** 展示方式,横向/竖向 */ - cssStyle: { + direction: { type: String as PropType<'row' | 'column'>, default: 'column', }, diff --git a/packages/devui-vue/docs/components/radio/index.md b/packages/devui-vue/docs/components/radio/index.md index c31e8dbb..27f27613 100644 --- a/packages/devui-vue/docs/components/radio/index.md +++ b/packages/devui-vue/docs/components/radio/index.md @@ -96,12 +96,12 @@ export default defineComponent({ ```vue