Untitled
unknown
plain_text
a year ago
3.8 kB
3
Indexable
import React, { useState } from "react"; import { Container, Form, Button, Table, Row, Col } from "react-bootstrap"; import "./styles.css"; // Import stylesheet for custom styles const App = () => { const [shoes, setShoes] = useState([]); const [shoe, setShoe] = useState({ merk: "", nama: "", ukuran: "", stok: "", harga: "", }); const handleChange = (e) => { setShoe({ ...shoe, [e.target.name]: e.target.value, }); }; const handleSubmit = (e) => { e.preventDefault(); setShoes([...shoes, shoe]); setShoe({ merk: "", nama: "", ukuran: "", stok: "", harga: "", }); }; const deleteShoe = (index) => { const newShoes = [...shoes]; newShoes.splice(index, 1); setShoes(newShoes); }; return ( <Container> <h1 className="title">Form Input Stok Sepatu</h1> <Row className="justify-content-md-center"> <Col xs={12} md={6}> <Form onSubmit={handleSubmit} className="form"> <Form.Group controlId="formMerk"> <Form.Label>Merk Sepatu</Form.Label> <Form.Control type="text" name="merk" value={shoe.merk} onChange={handleChange} required /> </Form.Group> <Form.Group controlId="formNama"> <Form.Label>Nama Sepatu</Form.Label> <Form.Control type="text" name="nama" value={shoe.nama} onChange={handleChange} required /> </Form.Group> <Form.Group controlId="formUkuran"> <Form.Label>Ukuran Sepatu</Form.Label> <Form.Control type="text" name="ukuran" value={shoe.ukuran} onChange={handleChange} required /> </Form.Group> <Form.Group controlId="formStok"> <Form.Label>Stok</Form.Label> <Form.Control type="text" name="stok" value={shoe.stok} onChange={handleChange} required /> </Form.Group> <Form.Group controlId="formHarga"> <Form.Label>Harga</Form.Label> <Form.Control type="text" name="harga" value={shoe.harga} onChange={handleChange} required /> </Form.Group> <Button variant="primary" type="submit"> Tambah </Button> </Form> </Col> </Row> <Table striped bordered hover className="mt-4"> <thead> <tr className="table-header"> <th>Merk Sepatu</th> <th>Nama Sepatu</th> <th>Ukuran Sepatu</th> <th>Stok</th> <th>Harga</th> <th>Action</th> </tr> </thead> <tbody> {shoes.map((shoe, index) => ( <tr key={index}> <td>{shoe.merk}</td> <td>{shoe.nama}</td> <td>{shoe.ukuran}</td> <td>{shoe.stok}</td> <td>{shoe.harga}</td> <td> <Button variant="danger" onClick={() => deleteShoe(index)}> Hapus </Button> </td> </tr> ))} </tbody> </Table> </Container> ); }; export default App;
Editor is loading...
Leave a Comment