当前位置:首页 > React

react如何选择码数

2026-03-30 23:13:24React

React 组件选择码数的方法

在 React 中实现选择码数的功能,可以通过下拉菜单、单选按钮或自定义组件实现。以下是一个常见的下拉菜单实现方式:

import React, { useState } from 'react';

function SizeSelector() {
  const [selectedSize, setSelectedSize] = useState('');

  const sizes = ['S', 'M', 'L', 'XL', 'XXL'];

  const handleSizeChange = (event) => {
    setSelectedSize(event.target.value);
  };

  return (
    <div>
      <label htmlFor="size-select">选择码数:</label>
      <select 
        id="size-select" 
        value={selectedSize} 
        onChange={handleSizeChange}
      >
        <option value="">请选择</option>
        {sizes.map(size => (
          <option key={size} value={size}>{size}</option>
        ))}
      </select>
      {selectedSize && <p>您选择了: {selectedSize}</p>}
    </div>
  );
}

export default SizeSelector;

单选按钮实现方式

function SizeRadioButtons() {
  const [selectedSize, setSelectedSize] = useState('');

  const sizes = ['S', 'M', 'L', 'XL', 'XXL'];

  return (
    <div>
      <h3>选择码数:</h3>
      {sizes.map(size => (
        <div key={size}>
          <input
            type="radio"
            id={`size-${size}`}
            name="size"
            value={size}
            checked={selectedSize === size}
            onChange={() => setSelectedSize(size)}
          />
          <label htmlFor={`size-${size}`}>{size}</label>
        </div>
      ))}
      {selectedSize && <p>您选择了: {selectedSize}</p>}
    </div>
  );
}

带尺寸表的自定义组件

对于需要显示详细尺寸信息的场景,可以创建一个更复杂的组件:

function SizeChartSelector() {
  const [selectedSize, setSelectedSize] = useState('');

  const sizeChart = [
    { size: 'S', chest: '90-95cm', waist: '70-75cm' },
    { size: 'M', chest: '95-100cm', waist: '75-80cm' },
    { size: 'L', chest: '100-105cm', waist: '80-85cm' },
    { size: 'XL', chest: '105-110cm', waist: '85-90cm' },
    { size: 'XXL', chest: '110-115cm', waist: '90-95cm' }
  ];

  return (
    <div>
      <h3>选择码数</h3>
      <div style={{ display: 'flex', gap: '10px' }}>
        {sizeChart.map(item => (
          <div 
            key={item.size}
            style={{ 
              padding: '10px', 
              border: selectedSize === item.size ? '2px solid blue' : '1px solid gray',
              cursor: 'pointer'
            }}
            onClick={() => setSelectedSize(item.size)}
          >
            <div><strong>{item.size}</strong></div>
            <div>胸围: {item.chest}</div>
            <div>腰围: {item.waist}</div>
          </div>
        ))}
      </div>
      {selectedSize && (
        <p>已选择: {selectedSize} 码</p>
      )}
    </div>
  );
}

与表单集成

在实际应用中,通常需要将尺寸选择器集成到表单中:

react如何选择码数

function ProductForm() {
  const [formData, setFormData] = useState({
    size: '',
    color: '',
    quantity: 1
  });

  const handleChange = (e) => {
    const { name, value } = e.target;
    setFormData(prev => ({
      ...prev,
      [name]: value
    }));
  };

  const handleSubmit = (e) => {
    e.preventDefault();
    console.log('提交的数据:', formData);
  };

  return (
    <form onSubmit={handleSubmit}>
      <div>
        <label>选择码数:</label>
        <select 
          name="size" 
          value={formData.size} 
          onChange={handleChange}
          required
        >
          <option value="">请选择</option>
          <option value="S">S</option>
          <option value="M">M</option>
          <option value="L">L</option>
          <option value="XL">XL</option>
        </select>
      </div>
      <button type="submit">加入购物车</button>
    </form>
  );
}

以上实现方式可以根据具体需求进行调整,如添加尺寸缺货状态、与库存系统联动等功能。

分享给朋友:

相关文章

如何react页面

如何react页面

创建 React 页面 使用 create-react-app 快速初始化项目: npx create-react-app my-app cd my-app npm start 基础页面结构 在 s…

react如何收录

react如何收录

React 收录方法 React 的收录主要涉及搜索引擎优化(SEO)和预渲染技术。由于 React 是单页应用(SPA),默认情况下内容由 JavaScript 动态生成,可能导致搜索引擎爬虫难以收…

如何开发react

如何开发react

开发React应用的基本步骤 安装Node.js和npm 确保系统中已安装Node.js(包含npm)。可通过官网下载安装包,安装后验证版本: node -v npm -v 创建React项目…

react如何安装

react如何安装

安装React的步骤 确保已安装Node.js(建议版本12或更高),可通过以下命令检查版本: node -v npm -v 使用Create React App快速搭建项目(推荐): npx c…

react如何扩展

react如何扩展

扩展 React 项目的常用方法 使用高阶组件(HOC) 高阶组件是一种复用组件逻辑的方式。通过包裹组件并注入额外属性或逻辑,可以实现功能扩展。例如,一个日志记录的高阶组件: function…

react native如何

react native如何

React Native 基础知识 React Native 是一个由 Facebook 开发的框架,用于使用 JavaScript 和 React 构建跨平台移动应用。它允许开发者编写一次代码,同时…