React-tags: λΈ”λŸ¬ μ‹œ μž…λ ₯ μ§€μš°κΈ°

에 λ§Œλ“  2020λ…„ 01μ›” 14일  Β·  5μ½”λ©˜νŠΈ  Β·  좜처: i-like-robots/react-tags

λΈ”λŸ¬μ— λŒ€ν•œ μž…λ ₯을 μ§€μš°λŠ” 방법이 있으면 쒋을 κ²ƒμž…λ‹ˆλ‹€.

μ΄λŠ” refλ₯Ό μž…λ ₯에 전달할 수 μžˆκ±°λ‚˜ clearInputOnDelete와 μœ μ‚¬ν•œ μƒˆ μ†Œν’ˆμ„ 톡해 μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚΄ μ‚¬μš© 사둀에 μžˆλŠ” μ΄μœ λŠ” λ‚΄κ°€ κ³ μ •λœ μ œμ•ˆ μ„ΈνŠΈλ₯Ό μ „λ‹¬ν•˜κ³  μ‚¬μš©μžκ°€ μ œμ•ˆκ³Ό μΌμΉ˜ν•˜μ§€ μ•ŠλŠ” 것을 μž…λ ₯ν•˜λ©΄ μž…λ ₯의 μ΄ˆμ μ„ 흐리게 ν•˜κ³  μž…λ ₯이 μœ νš¨ν•œ κ²ƒμ²˜λŸΌ 보이기 λ•Œλ¬Έμž…λ‹ˆλ‹€. μœ μ§€ 된. μΌμΉ˜ν•˜μ§€ μ•ŠλŠ” ν…μŠ€νŠΈ ν•­λͺ©μ€ μœ μ§€λ˜μ§€ μ•ŠλŠ”λ‹€λŠ” 점을 λΆ„λͺ…νžˆ ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

question

λͺ¨λ“  5 λŒ“κΈ€

이 ꡬ성 μš”μ†Œμ˜ v6을 μ‚¬μš©ν•˜λŠ” 것을 λ³΄μ•˜μŠ΅λ‹ˆκΉŒ?

https://github.com/i-like-robots/react-tags/tree/6.0

이 λ²„μ „μ—λŠ” onBlur 콜백과 .clearInput() λ©”μ†Œλ“œκ°€ λͺ¨λ‘ μžˆμŠ΅λ‹ˆλ‹€ πŸ˜„

멋진! λ‚˜λ₯Ό μœ„ν•΄ 그것을 ν•΄κ²° πŸ™‚

@i-like-robots 이에 λŒ€ν•΄ λ‹€μ‹œ 논평을 ν•΄μ„œ μ£„μ†‘ν•©λ‹ˆλ‹€λ§Œ νŒ¨ν‚€μ§€μ— μ˜ν•΄ λ…ΈμΆœλœ μ°Έμ‘°κ°€ μ—†κΈ° λ•Œλ¬Έμ— clearInput() λ©”μ†Œλ“œμ— μ•‘μ„ΈμŠ€ν•˜λŠ” 방법에 λŒ€ν•΄ λ‚˜μ—κ²Œ λΆˆλΆ„λͺ…ν•©λ‹ˆκΉŒ? 일반적으둜 this.reactTagsRef.current.clearInput() 와 같은 것을 μ‚¬μš©ν•˜μ—¬ 이와 같은 μžμ‹ λ©”μ„œλ“œμ— μ•‘μ„ΈμŠ€ν•©λ‹ˆλ‹€.

이 λ¦¬ν¬μ§€ν† λ¦¬μ˜ 예제λ₯Ό μ‚¬μš©ν•˜κ³  onBlur 콜백으둜 ν™•μž₯ν•˜μ—¬ ꡬ성 μš”μ†Œμ˜ μΈμŠ€ν„΄μŠ€μ— ref λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

class App extends React.Component {
  constructor (props) {
    super(props)

    this.state = {
      tags: [],
      suggestions: []
    }

+   this.reactTags = React.createRef()
  }

  onDelete (i) {
    const tags = this.state.tags.slice(0)
    tags.splice(i, 1)
    this.setState({ tags })
  }

  onAddition (tag) {
    const tags = [].concat(this.state.tags, tag)
    this.setState({ tags })
  }

+ onBlur () {
+   if (this.reactTags.current) {
+     this.reactTags.current.clearInput()
+   }
+ }

  render () {
    return (
        <ReactTags
+         ref={this.reactTags}
          tags={this.state.tags}
          suggestions={this.state.suggestions}
+         onBlur={this.onBlur.bind(this)}
          onDelete={this.onDelete.bind(this)}
          onAddition={this.onAddition.bind(this)}
        />
    )
  }
}

μ™„λ²½ν•©λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€!

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰