iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0
Software Development

30天!玩轉TypeScript開發書單系統系列 第 13

[Day13] 提交吧 !設計你的表單介面:切版大師一步到位

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20230927/201244622PmqhhGmxx.png


引言


在程式設計的世界中
表單是我們與使用者互動的重要媒介之一

儘管許多功能齊全的系統在基本功能上可能大同小異
然而,一個美觀的表單不僅提升了使用者體驗
更讓整個應用程式看起來更顯專業和令人印象深刻

在這個系列中,我們不僅要實作功能
也要運用 Uno CSS 和 Vue 3 來設計
進行切版各種類型的表單
學習這些技巧讓我們可以更加積極的解決困難^_______^


樣式不需要了


這裡筆者要提醒一下
官方有送樣式給我們
但目前我們可能用不到
畢竟我們決定用UnoCSS了
不需要原生CSS了

所以我們把這隻檔案刪掉src/style.css
還有main.tsimport './style.css'也刪掉

因為如果不刪掉的話
後續的切版工作會變得更加困難

筆者就曾經吃過這個虧
深刻體會到了細節重要性

果然,要成為一個優秀的切版大師
還是需要注意這些小訣竅呢


來個Form吧


我們一樣輸入指令來建立一個表單元件

touch BookForm.vue

然後記得加上Router

index.ts

const routes: RouteRecordRaw[] = [
.....
,{
    path: "/form",
    name: "Form",
    component: () => import("../components/BookForm.vue"),
  },
 ...];

忘記了Router寫法
可以翻前幾篇發過的文章
[Day06] 穿越吧!使用 Vue-Router 穿梭畫面空間


來個input吧


<template>
  
  <div class="box-border flex">

  <div class="w-md ma-a">
    <h1>書單資訊</h1>

    <section class="text-left">
    <form @submit.prevent="addBook()">

    <div class="mb-2">
      <label for="bookTitle" class="text-4">書名</label>
      <input id="bookTitle" class="w-full px-3 py-2 border box-border rounded border-b-none border-r-none" v-model="bookInfo.bookTitle"/>
    </div>

  <div class="mb-2">
      <label for="author" class="block text-4">作者</label>
      <input id="author" class="w-full px-3 py-2 border rounded box-border border-b-none border-r-none" v-model="bookInfo.author" />
      </div>

      <div class="mb-2">
      <label for="publisher" class="text-4">出版社</label>
      <input id="publisher" class="w-full px-3 py-2 border rounded box-border border-b-none border-r-none" v-model="bookInfo.publisher" />
      </div>

      <div class="mb-2">
      <label for="publicationDate" >出版日期</label>
      <input type="date" id="publicationDate" class="w-full px-3 py-2 box-border border rounded border-b-none border-r-none" v-model="bookInfo.publicationDate" />
    </div >
      <center><button type="submit" class="w-full pl-3 mt-2">提交</button></center>
    </form>

  </section>
  

    <center><button class="mt-2 w-full"><router-link to="/list">返回列表</router-link></button></center>
  </div>  
</div>
</template>

addBook()的方法
歡迎參考我上一篇文章
[Day12] 新增吧 !用TypeScript添加你的新書資訊到資料庫

https://ithelp.ithome.com.tw/upload/images/20230927/20124462fh79dhMl6Q.png

返回列表後
可以看到我們剛剛新增的一筆
書名是[Day13] 提交吧 !設計你的表單介面:切版大師一步到位
https://ithelp.ithome.com.tw/upload/images/20230927/20124462b4yYflE50k.jpg

雖然會一些切版技巧了
自己仍然有很多不足之處需要改進和學習
每一步都是一個挑戰
也會是一個機會
「不要放棄!!」

本篇文章就到這裡啦!
還有一些表單驗證的效果在之後篇張會好好跟大家見面
謝謝大家跟我一同堅持到今日^________^


上一篇
[Day12] 新增吧 !用TypeScript添加你的新書資訊到資料庫
下一篇
[Day14] 清掉吧!用TypeScript刪除書單資訊 - 實現資料斷捨離
系列文
30天!玩轉TypeScript開發書單系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言