-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[TNT-139] TTextField, TTextEditor 컴포넌트 코드 작성 #20
Conversation
안녕하세요 👋 앞으로 잘부탁드립니다~~
텍스트 onChange에 대한 로직은 내부에서 처리한다고 가정하면(TTextField 에서) 리듀서에서 사용하기는 편할 것 같아요. 다만 그렇지 않고 복잡한 로직이 껴져있어 리듀서에서 처리해야 한다면 State가 많이 복잡해지겠죠?? 잘 생각해서 앞으로 조율해보세요! 지금은 괜찮아보입니다 😃 코드를 보기 전에 적어주신 생성자들 살펴봤는데요! Section {
...
} header: {
...
} footer: {
...
} 기존에 잘 사용하던 컴포넌트의 익숙함을 가져가는 것도 중요해요. |
/// - Parameters: | ||
/// - placeholder: Placeholder 텍스트 (기본값: "내용을 입력해주세요") | ||
/// - header: 상단 헤더 설정 (옵션) | ||
/// - footerText: 하단 푸터 텍스트 (옵션) | ||
/// - unitText: 우측 단위 텍스트 (옵션) | ||
/// - button: 우측 버튼 설정 (옵션) | ||
/// - keyboardType: 텍스트 필드 키보드 타입 (기본값: .default) | ||
/// - text: 입력 텍스트 (Binding) | ||
/// - textFieldStatus: 텍스트 필드 상태 (Binding) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
주석이 자세해서 읽기 편했어요 감사합니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
감사합니다! :)
/// 우측 단위 텍스트 | ||
private let unitText: String? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
사용하는 단위가 몇개 없을 것 같은데 꼭 String으로 받아야 하나요? 열거형 사용하는게 더 좋아보여요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
앱에서 kg, cm 등의 단위를 사용하는데, 추후 기능 확장을 생각해본다면 kg <-> pound
와 같은 단위 변환도 생각해야 할 것 같아서 단위 내용을 Domain의 enum으로 정의하려고 했습니다!
struct ButtonContent { | ||
/// 버튼에 표시될 텍스트 | ||
let title: String | ||
/// 버튼 클릭 시 실행되는 동작 | ||
let tapAction: (() -> Void)? | ||
|
||
public init(title: String, tapAction: (() -> Void)?) { | ||
self.title = title | ||
self.tapAction = tapAction | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tapAction은 왜 optional이여야 하나요?? ButtonContent를 생성자에서 이미 옵셔널로 받고 있으니까 여기는 반드시 값이 있어야 할 것 같아요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
앗 맞네요 감사합니다!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
궁금한 것들 남겨두었습니다-! 화이팅이에요 👏
🎉앞으로 잘 부탁드립니다 민호님! 🎉 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! 수고하셨습니다.
상세한 주석 너무 감사합니다.
- 앞으로는 깃허브로 최대한 빠르게 리뷰 달아놓을게요 🙂
} | ||
|
||
public extension TTextField.RightView { | ||
/// |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
빈주석 발견!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
헉...! 지금 봤네요 다음에 슥삭 처리하겠습니다!
📌 What is the PR?
🪄 Changes
🌐 Common Changes
🔥 PR Point
커스텀으로 두께와 색상을 설정 가능한 컴포넌트입니다.
사용법은 아래와 같습니다.
헤더, 푸터, 단위 텍스트, 액션 버튼을 추가할 수 있으며, 상태에 따라 동적으로 스타일이 변경됩니다.생성 시 각 입력값을 옵션으로 입력하며, 입력 시 해당 위치에 특정 UI가 추가됩니다.사용법은 아래와 같습니다.
사용법은 아래와 같습니다.
📸 Screenshot
🙆🏻 To Reviewers
💭 Related Issues