Przeglądaj źródła

Merge branch 'select-component-cambios-propuestos' into develop

tinchoolivari 4 lat temu
rodzic
commit
cb412f1983
5 zmienionych plików z 35816 dodań i 495 usunięć
  1. 35448 0
      app/package-lock.json
  2. 15 1
      app/src/App.tsx
  3. 21 2
      app/src/components/UI/forms/select.tsx
  4. 326 492
      app/yarn.lock
  5. 6 0
      package-lock.json

Plik diff jest za duży
+ 35448 - 0
app/package-lock.json


+ 15 - 1
app/src/App.tsx

@@ -1,9 +1,23 @@
-import React from "react";
+import React, { ChangeEvent } from "react";
+import Select from "./components/UI/forms/select";
 
 function App() {
+  let optionList: string[] | number[] = ["a", "b", "c", "d"];
+
   return (
     <div>
       <button className="btn btn-primary">hola</button>
+      <div style={{ maxWidth: "300px", margin: "auto" }}>
+        <Select
+          list={optionList}
+          onChange={(e: ChangeEvent<HTMLInputElement>) =>
+            console.log(e.target.value)
+          }
+          name="Comparación"
+          placeholder="Selección de comparación"
+          data-algo="algo"
+        />
+      </div>
     </div>
   );
 }

+ 21 - 2
app/src/components/UI/forms/select.tsx

@@ -1,7 +1,26 @@
 import React, { FC } from "react";
 
-const Select: FC = () => {
-  return <select id="" name=""></select>;
+interface selectProps {
+  list: string[] | number[];
+  onChange: Function;
+  placeholder: string;
+  name: string;
+  [index: string]: any;
+}
+
+// En las props hago un "rest", que me da el resto del objeto que estoy desestructurando
+const Select: FC<selectProps> = ({ list, className, ...props }) => {
+  return (
+    <select {...(props as any)} className={`form-select ${className}`}>
+      {props.placeholder ? <option value="">{props.placeholder}</option> : null}
+
+      {list.map((item) => (
+        <option value={item} key={item}>
+          {item}
+        </option>
+      ))}
+    </select>
+  );
 };
 
 export default Select;

Plik diff jest za duży
+ 326 - 492
app/yarn.lock


+ 6 - 0
package-lock.json

@@ -0,0 +1,6 @@
+{
+  "name": "zuccardi-frontend",
+  "lockfileVersion": 2,
+  "requires": true,
+  "packages": {}
+}