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 8.0.22 winx64 のインストールと設定方法のグラフィックチュートリアル

MySQL-8.0.22-winx64のデータベースインストールチュートリアルは参考になります。具体...

入力できない無効な値はアクションレイヤーに渡すことができません

フォームを入力不可にしたい場合は、フォームを次のように設定します。コードをコピーコードは次のとおりで...

シェルスクリプトによるDockerコンテナの起動順序の制御の詳細な説明

1. 遭遇した問題分散プロジェクトの展開プロセスでは、サーバーの再起動後にアプリケーション(データベ...

Dockerが正常に起動しない原因と解決策を詳しく解説

1. Docker 起動時の異常なパフォーマンス: 1. ステータスが繰り返し再起動している場合は、...

CentOS/RHEL システムで VLAN タグ付きイーサネット カードを使用する方法

シナリオによっては、Linux サーバー (CentOS/RHEL) の同じイーサネット カード (...

Linux 型バージョン メモリ ディスク クエリ コマンド紹介

1. まず、Linux システムのバージョン内容について概要を説明します。 1. カーネルバージョン...

Win7 システムでの MySQL 5.7.11 の詳細なインストール チュートリアル

オペレーティング システム: Win7 64 ビット Ultimate Edition MySQL ...

MySQL 5.7.22 バイナリパッケージのインストールとインストール不要版 Windows 設定方法

次のコードは、MySQL 5.7.22 バイナリ パッケージのインストール方法を紹介しています。具体...

Vue ページ内の公開マルチタイプ添付画像アップロード領域と適用可能な折りたたみパネル (サンプルコード)

フロントエンド プロジェクトでは、添付ファイルのアップロードは非常に一般的な機能であり、ほぼすべての...

MySQL btree インデックスとハッシュ インデックスの違い

MySQL では、ほとんどのインデックス (PRIMARY KEY、UNIQUE、INDEX、FUL...

html-webpack-plugin の使用方法の詳細な説明

最近、React プロジェクトで初めてhtml-webapck-pluginプラグインを使用しました...

Linux システムで時間を取得して使用する方法

Linux システム時間には 2 種類あります。 (1)暦上の時刻。値は、指定された時刻、1970 ...

MySQLトランザクションとMySQLログの詳細な説明

取引特性1. アトミック性: トランザクションの開始後、すべての操作が完了するか、まったく実行されな...

Vue で配列パラメータを渡すための get / delete メソッド

フロントエンドとバックエンドがやり取りする場合、get または delete を介してバックエンドに...