Advertisement
tomuwhu

Űrlap

Jan 28th, 2020
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <template>
  2.   <div id="app">
  3.     <table v-if="mode">
  4.       <tr>
  5.         <td>E-mail cím:</td>
  6.         <td>
  7.           <input placeholder="E-mail cím" v-model="o.email">
  8.         </td>
  9.       </tr>
  10.       <tr>
  11.         <td>Neve:</td>
  12.         <td>
  13.           <input placeholder="Név" v-model="o.name">
  14.         </td>
  15.       </tr>
  16.       <tr>
  17.         <td>Született:</td>
  18.         <td>
  19.           <input type="date" v-model="o.i1">
  20.         </td>
  21.       </tr>
  22.       <tr>
  23.         <td>Neme:</td>
  24.         <td>
  25.           <input name="x" type="radio" value="Férfi" v-model="o.i2">
  26.           <input name="x" type="radio" value="Nő" v-model="o.i2">
  27.         </td>
  28.       </tr>
  29.       <tr>
  30.         <td colspan="2" class="klassz">
  31.           <button @click="f()" :disabled="!(o.email && o.i1 && o.name && o.i2)">Ment</button>
  32.           <button @click="o={},mode=0">Mégse</button>
  33.         </td>
  34.       </tr>
  35.     </table>
  36.     <table v-if="!mode">
  37.       <tr v-for="(sor,i) in Array.from(t)" :key="sor.email">
  38.         <td>{{ i+1 }}.</td>
  39.         <td>{{ sor[0] }}</td>
  40.         <td>{{ sor[1].name }}</td>
  41.         <td>{{ sor[1].i1 }}</td>
  42.         <td>{{ sor[1].i2 }}</td>
  43.         <td class="katt" @click="o=t.get(sor[0]),mode=2">&#9999;</td>
  44.         <td class="katt" @click="torol(sor[0])">&#10799;</td>
  45.       </tr>
  46.       <tr>
  47.         <td colspan="7"
  48.             class="klassz">
  49.             <button @click="mode=1">Új elem</button>
  50.         </td>
  51.       </tr>
  52.     </table>
  53.   </div>
  54. </template>
  55.  
  56. <script>
  57. export default {
  58.   name: "App",
  59.   data() {
  60.     return {
  61.       o: {},
  62.       t: new Map(),
  63.       mode: 0
  64.     };
  65.   },
  66.   mounted(){
  67.     var ldb = localStorage.getItem('db')
  68.     if (ldb) {
  69.       this.t = new Map()
  70.        JSON.parse( ldb ).forEach( v => {
  71.         this.t.set(v[0],v[1])
  72.        })
  73.     }
  74.   },
  75.   methods: {
  76.     torol(mit) {
  77.       this.t.delete(mit)
  78.       this.$forceUpdate()
  79.       localStorage.setItem('db',JSON.stringify(Array.from(this.t)))
  80.     },
  81.     f() {
  82.       if (this.mode===1) {
  83.         if (this.t.has(this.o.email)) {
  84.           alert("van már ilyen e-mail cím");
  85.         } else {
  86.           this.t.set(this.o.email, this.o);
  87.           this.o = {};
  88.           //this.$forceUpdate();
  89.           this.mode=0
  90.         }
  91.       } else {
  92.           this.t.set(this.o.email, this.o);
  93.           this.o = {};
  94.           //this.$forceUpdate();
  95.           this.mode=0
  96.       }
  97.       localStorage.setItem('db',JSON.stringify(Array.from(this.t)))
  98.     }
  99.   }
  100. };
  101. </script>
  102.  
  103. <style>
  104. tr {
  105.   background-color:burlywood;
  106. }
  107. td {
  108.  padding: 5px;
  109.  margin: 10px;
  110.  border-bottom: 1px solid black;
  111. }
  112. td.klassz {
  113.   text-align: center;
  114. }
  115. td.katt {
  116.   cursor: pointer;
  117. }
  118. td.katt:hover {
  119.   text-shadow:1px 1px 3px black;
  120.   color:red;
  121. }
  122. </style>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement