From c73c8d8bd890da71a0ea65c5157381e9b9dcd541 Mon Sep 17 00:00:00 2001 From: Gypsophyllite Date: Thu, 18 May 2023 21:21:30 +0800 Subject: [PATCH] feat(select): select style --- .../components/Select/Select.stories.tsx | 12 ++++---- .../__snapshots__/Select.spec.tsx.snap | 13 -------- packages/design/components/Select/index.tsx | 30 +++++++++++-------- .../design/components/Select/style/index.less | 12 +++++++- 4 files changed, 34 insertions(+), 33 deletions(-) diff --git a/packages/design/components/Select/Select.stories.tsx b/packages/design/components/Select/Select.stories.tsx index 807691c63..4ef8351e3 100644 --- a/packages/design/components/Select/Select.stories.tsx +++ b/packages/design/components/Select/Select.stories.tsx @@ -1,17 +1,17 @@ -import type { ComponentMeta, ComponentStory } from '@storybook/react'; +import type { Meta, StoryObj } from '@storybook/react'; import React from 'react'; import Select from '.'; -const componentMeta: ComponentMeta = { +const componentMeta: Meta = { title: 'Modern/Select', component: Select, }; export default componentMeta; -const Template: ComponentStory = () => { - return ( +export const Template: StoryObj = { + render: () => ( - - - `; diff --git a/packages/design/components/Select/index.tsx b/packages/design/components/Select/index.tsx index 9bbae1496..9291e31ce 100644 --- a/packages/design/components/Select/index.tsx +++ b/packages/design/components/Select/index.tsx @@ -39,18 +39,24 @@ const Select = ({ options, style, defaultValue, className, onChange }: SelectPro {optionsMap[active]?.label} - + {open ? ( +
    + {options.map((option) => ( +
  • { + handleOptionClick(option.value); + }} + > + {option.label} +
  • + ))} +
+ ) : ( + <> + )} ); }; diff --git a/packages/design/components/Select/style/index.less b/packages/design/components/Select/style/index.less index 64c0c2092..cd136936c 100644 --- a/packages/design/components/Select/style/index.less +++ b/packages/design/components/Select/style/index.less @@ -18,7 +18,7 @@ top: 100%; border: 2px solid @gray-10; box-sizing: border-box; - padding: 8px 12px; + padding: 10px 0; width: 100%; left: 0; border-radius: 19px; @@ -27,6 +27,16 @@ > div { padding: 9px 0; } + + &-item { + height: 1em; + padding: 10px; + // padding: 0.5em 0; + + &:hover { + background-color: @gray-10; + } + } } select {