Vue+Bootstrapでシンプルな学生管理システムを実現

Vue+Bootstrapでシンプルな学生管理システムを実現

参考までに、vueとbootstrapを使って比較的シンプルな生徒管理システムを作りました。具体的な内容は以下のとおりです。

では早速レンダリングを見てみましょう

添付のソースコード:

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
 <メタ文字セット="utf-8">
 <meta http-equiv="X-UA-compatible" content="IE=edge">
 <meta name="viewport" content="width=デバイス幅、初期スケール=1">
 <title>学生管理システム</title>
 <link href="../public/css/bootstrap.min.css" rel="スタイルシート">
 <link href="../public/css/style.css" rel="スタイルシート">
 <スタイル>
 .row>div{境界線: 1px 実線 #000;}
 .modal{display: block;opacity:1;top: 100px; overflow:visible;}
 </スタイル>
</head>
<本文>
 <div id="アプリ">

 
 <div class="コンテナ">
 <テーブルクラス="テーブルテーブルストライプ">
  <caption>学生管理システム v1.0 - 学生の表示</caption>
  <tr>
  <th>名前</th>
  <th>年齢</th>
  <th>性別</th>
  <th>オペレーション</th>
  </tr>
  <tr v-for="item,stuInfoArr のキー">
  <td>{{アイテム名}}</td>
  <td>{{item.age}}</td>
  <td>{{item.性別}}</td>
  <td><button @click="showDialog(item.name,key)" class="btn btn-danger btn-xs" data-toggle="modal" data-target="#exampleModal" data-whatever="@mdo">削除</button></td>
  </tr>  
 </テーブル>
 
 <時間>
 <時間>
 <時間>
 <フォームアクション="">
  <テーブルクラス="テーブルテーブルストライプ">
  <caption>生徒情報を追加する</caption>
  <tr>
   <td>プロジェクト</td>
   <td>情報</td>
  </tr>
  <tr>
   <td>名前</td>
   <td>
   <input v-model="stuName" type="text" class="form-control" id="stuname" placeholder="姓" name="stuname">
   </td> 
  </tr>
  <tr>
   <td>年齢</td>
   <td>
   <input v-model="stuAge" type="text" class="form-control" id="stuage" placeholder="年齢" name="stuage">
   </td> 
  </tr>
  <tr>
   <td>性別</td>
   <td>
   <label class="gen-span"><input v-model="stuGender" type="radio" class="radio-info" name="gender" checked value="Male"> 男性</label>
   <label class="gen-span"><input v-model="stuGender" type="radio" class="radio-info" name="gender" value="Female"> 女性</label>
   <label class="gen-span"><input v-model="stuGender" type="radio" class="radio-info" name="gender" value="Confidential"> 機密</label>
   </td>
  </tr>
  </テーブル>
  <div style="text-align: center;"><input type="button" class="btn btn-info btn-sm add-btn" value="追加を確認" @click="add"/></div>
  </フォーム>
 </div>
 <!-- 削除ボタンの確認ボックス-->
 <div v-show="isDialogShow" class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
 <div class="modal-dialog" role="document">
  <div class="modal-content">
  <div class="modal-header">
  <button @click="isDialogShow=false" type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
  <h4 class="modal-title" id="exampleModalLabel">確認ボックス</h4>
  </div>
  <div class="modal-body">
  <フォーム>
   <div class="フォームグループ">
   <label for="message-text" class="control-label"><strong class="control-label-name" style="color:blue">{{delStuName}}</strong> を削除してもよろしいですか? </ラベル>
  </div>
  </フォーム>
  </div>
  <div class="modal-footer">
  <button type="button" class="btn btn-default" data-dismiss="modal" @click="isDialogShow=false">戻る</button>
  <a href="###" rel="external nofollow" class="delete-a"><button type="button" class="btn btn-primary" @click="delStuInfo()">確認</button></a>
  </div>
  </div>
 </div>
 </div>
 </div>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<スクリプト> 
 新しいVue({
 el: '#app',
 データ: {
 stuInfoArr: [
 { 名前: 'シャオミン'、年齢: 12、性別: "男性" },
 { 名前: 'Xiaohong'、年齢: 10、性別: "女性" }、
 { 名前: 'Xiaogang'、年齢: 16、性別: "機密" }
   ]、
 isDialogShow: false、
 stuName: "",
 スタジオ:"",
 stuGender:"男性"、
 delStuName:'xx',
 索引: ""
   
 },
 方法:{
 追加() {
 // ビジネスロジック // いずれかが空であれば実行は終了します if(!this.stuName || !this.stuAge) {
  警告("名前と年齢は空欄にできません")
  戻る 
 }
 this.stuInfoArr.push({ 名前: this.stuName 、 年齢: this.stuAge 、 性別: this.stuGender })
 },
 // 削除ボタンをクリックして関数をトリガーします showDialog(name,key) {
 this.isDialogShow = true、
 this.delStuName = 名前、
 this.index = キー
 },
 delStuInfo() {
 // 実際に削除関数を実装します this.stuInfoArr.splice(this.index, 1),
 this.isDialogShow = false
 }
 },   
 })
</スクリプト>
</本文>
</html>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vueが学生管理機能を実装
  • 学生管理システムを実現するJavaコンソール
  • 学生管理システムのJava実装(IO版)
  • Javaで実装された学生管理システムの詳細説明
  • Vueプロジェクトの学生管理システム例の詳細説明

<<:  Docker コンテナのネットワーク障害に対する 6 つの解決策

>>:  Docker に共通コンポーネント (mysql、redis) をインストールする方法

推薦する

MySQLデータベースが予期せずクラッシュし、テーブルデータファイルが破損して起動できなくなる問題を解決します。

問題: MySQL データベースが予期せずクラッシュしたため、データベースを起動できませんでした。エ...

期間限定フラッシュセール機能を実装するJavaScript

この記事では、期間限定フラッシュセール機能を実装するためのJavaScriptの具体的なコードを参考...

MySQLのよくある間違い

NULL 値によると、MySQL の NULL 値は単にデータがないことを意味します。NULL 値は...

MySQL でストアド プロシージャを作成し、データ テーブルに新しいフィールドを追加する方法の分析

この記事では、例を使用して、MySQL でストアド プロシージャを作成し、データ テーブルに新しいフ...

MySQL の group by に関する簡単な説明

目次1. はじめに2. ユーザーテーブルを準備する2.1 グループ化ルール2.2 グループの使用2....

HTML チュートリアル: 順序なしリスト

<br />原文: http://andymao.com/andy/post/102.h...

Vueプラグインの実装で発生した問題の概要

目次シーン紹介プラグインの実装問題1: 重複したヘッダーコンポーネント質問2: 別の実装アイデア質問...

完全なショッピングカートを実装するためのミニプログラム

ミニプログラムは、参考までに完全なショッピングカート[すべて選択/選択解除して金額を計算/加算と減算...

MySql インデックス使用戦略の分析

MySql インデックスインデックスの利点1. 一意のインデックスまたは主キー インデックスを作成す...

10 種類のモダンなレイアウトを実現するための CSS コード

序文日曜日に自宅で web.dev の 2020 3 日間ライブを視聴したところ、興味深い点がたくさ...

JSメモリ空間の詳細な説明

目次概要1. スタックとヒープ2. 変数オブジェクトと基本データ型3. 参照データ型とヒープメモリメ...

nginxとlvsのメリットとデメリット、そして適切な使用環境

まず最初に、ロード バランシングとは何かについて説明します。ロード バランシングとは、リクエストの内...

VMware CentOS 仮想マシンのインストールとネットワーク構成のグラフィックチュートリアル

1. CentOSイメージをダウンロードする1.1 ダウンロードウェブサイトhttp://mirro...

Linux(中心OS7)は、Java Webプロジェクトの実行環境を構築するためにJDK、Tomcat、MySQLをインストールします。

1. JDKをインストールする1. 古いバージョンまたはシステム独自のJDKをアンインストールする...

MySQL の冗長インデックスと重複インデックスの詳細な説明

MySQL では、同じ列に複数のインデックスを作成できます。意図的であるかどうかにかかわらず、MyS...