完整教程:50天50个小项目 (React19 + Tailwindcss V4) ✨| RandomChoicePicker(标签生成)

  我们继续 50 个小项目挑战!——  RandomChoicePicker组件

仓库地址:https://gitee.com/hhm-hhm/50days50projects.git

构建一个简单的标签输入组件。用户可以在文本框中输入多个选项,并通过逗号分隔,组件会自动将其拆分成可视化的“标签”展示出来。

组件目标

  • 接收用户输入的一段文本。
  • 使用逗号 , 分割输入内容。
  • 动态渲染为一组“标签”(Tag)。
  • 使用 TailwindCSS 快速构建美观现代的 UI 界面。
  • 提供清晰的交互反馈。

RandomChoicePicker.tsx 组件实现

import React, { useState, useEffect } from 'react'
const RandomChoicePicker: React.FC = () => {
    const [textareaText, setTextareaText] = useState('')
    const [tagList, setTagList] = useState([])
    // 每当 textareaText 变化时,自动分割标签
    useEffect(() => {
        const tags = textareaText
            .split(',')
            .map((item) => item.trim()) // 去除前后空格
            .filter((item) => item !== '') // 过滤空字符串
        setTagList(tags)
    }, [textareaText])
    return (
        

Enter all of the choices divided by a comma (',').(输入所有选项,并用英文逗号,分隔)
Press enter when you're done

posted on 2026-01-09 12:27  ljbguanli  阅读(15)  评论(0)    收藏  举报