この記事では、テーブル内のデータを追加、削除、変更するためのvue要素の具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 ここでは、ポップアップ ボックスを使用してこの機能を実装します。別の方法としては、元のベースで直接変更する方法があります。 効果は以下のとおりです。 表の表: <el-table :data="テーブルデータ" スタイル="幅: 100%"> <el-table-column prop="date" label="日付" width="180"></el-table-column> <el-table-column prop="name" label="姓名" width="180"></el-table-column> <el-table-column prop="address" label="住所"></el-table-column> <el-table-column label="操作"> <テンプレート スロット スコープ="スコープ"> <!-- 編集をクリックすると、テーブルデータを編集するための編集ページに入ります --> <el-button size="small" @click="handleEdit(scope.$index, scope.row)">編集</el-button> <el-button size="small" type="danger" @click="handleDelete(scope.$index, scope.row)">削除</el-button> </テンプレート> </el-table-column> </el-table> ポップアップボックスの設定: <!-- 以下は、追加ボタンをクリックしたときに表示されるポップアップ ボックスを設定するために使用されます。テーブルをネストして、ポップアップ テーブル情報を表示できます。次の :visible.sync を使用して、表示するかどうかを制御します --> <!-- 設定した値は内部にバインドされます。入力後、新しい値をページ上のすべてのデータに挿入します--> <el-dialog title="ユーザー情報" :visible.sync="dialogFormVisible"> <!-- el-dialog 内に el-form をネストしてポップアップ テーブルの効果を実現 --> <el-form :model="フォーム"> <el-form-item label="住所" :label-width="フォームラベルの幅"> <el-input v-model="form.address" オートコンプリート="オフ"></el-input> </el-form-item> <el-form-item label="名前" :label-width="フォームラベルの幅"> <el-input v-model="フォーム名" オートコンプリート="オフ"></el-input> </el-form-item> <el-form-item label="日付" :label-width="フォームラベルの幅"> <el-日付ピッカー v-model="フォーム.date" タイプ="日付" placeholder="日付を選択" 値の形式="yyyy-MM-dd" </el-date-picker> </el-form-item> <el-form-item label="性別" :label-width="フォームラベルの幅"> <el-select v-model="form.region" placeholder="性別"> <el-option label="男性" value="男性"></el-option> <el-option label="女" value="女"></el-option> </el-select> </el-form-item> </el-form> <div スロット="フッター" クラス="ダイアログ フッター"> <el-button @click="cancel">キャンセル</el-button> <!-- 更新をトリガーする方法を設定します --> <el-button type="primary" @click="update">OK</el-button> </div> </el-ダイアログ> 完全なコードは次のとおりです。 <テンプレート> <div class="basetable" v-loading="読み込み中" 要素-loading-text="読み込み中"> <!-- v-loading 設定の読み込み中 --> <div class="selectMenu"> <el-date-picker v-model="value6" type="daterange" placeholder="日付範囲を選択"></el-date-picker> <!-- クリックすると追加メソッドがトリガーされます--> <el-button type="primary" @click="add">追加</el-button> </div> <div class="tableMain"> <el-table :data="テーブルデータ" スタイル="幅: 100%"> <el-table-column prop="date" label="日付" width="180"></el-table-column> <el-table-column prop="name" label="姓名" width="180"></el-table-column> <el-table-column prop="address" label="住所"></el-table-column> <el-table-column label="操作"> <テンプレート スロット スコープ="スコープ"> <!-- 編集をクリックすると、テーブルデータを編集するための編集ページに入ります --> <el-button size="small" @click="handleEdit(scope.$index, scope.row)">編集</el-button> <el-button size="small" type="danger" @click="handleDelete(scope.$index, scope.row)">削除</el-button> </テンプレート> </el-table-column> </el-table> </div> <div class="page"> <el-ページネーション @size-change="ハンドルサイズ変更" @current-change="現在の変更を処理する" :current-page.sync="現在のページ3" :ページサイズ="100" レイアウト="前へ、ページャー、次へ、ジャンパー" :合計= "1000" </el-pagination> ... </div> <!-- 以下は、追加ボタンをクリックしたときに表示されるポップアップ ボックスを設定するために使用されます。テーブルをネストして、ポップアップ テーブル情報を表示できます。次の :visible.sync を使用して、表示するかどうかを制御します --> <!-- 設定した値は内部にバインドされます。入力後、新しい値をページ上のすべてのデータに挿入します--> <el-dialog title="ユーザー情報" :visible.sync="dialogFormVisible"> <!-- el-dialog 内に el-form をネストしてポップアップ テーブルの効果を実現 --> <el-form :model="フォーム"> <el-form-item label="住所" :label-width="フォームラベルの幅"> <el-input v-model="form.address" オートコンプリート="オフ"></el-input> </el-form-item> <el-form-item label="名前" :label-width="フォームラベルの幅"> <el-input v-model="フォーム名" オートコンプリート="オフ"></el-input> </el-form-item> <el-form-item label="日付" :label-width="フォームラベルの幅"> <el-日付ピッカー v-model="フォーム.date" タイプ="日付" placeholder="日付を選択" 値の形式="yyyy-MM-dd" </el-date-picker> </el-form-item> <el-form-item label="性別" :label-width="フォームラベルの幅"> <el-select v-model="form.region" placeholder="性別"> <el-option label="男性" value="男性"></el-option> <el-option label="女" value="女"></el-option> </el-select> </el-form-item> </el-form> <div スロット="フッター" クラス="ダイアログ フッター"> <el-button @click="cancel">キャンセル</el-button> <!-- 更新をトリガーする方法を設定します --> <el-button type="primary" @click="update">OK</el-button> </div> </el-ダイアログ> </div> </テンプレート> <script type="text/ecmascript-6"> エクスポートデフォルト{ データ() { 戻る { 読み込み中: true、 // テーブルデータ tableData: [ { 日付: "2017-05-01", 名前:「兵士76」 地域:「男性」、 住所:「キングスアベニュー」 市: "" }, { 日付: "2017-05-02", 名前:「ゲンジ」 地域:「男性」、 住所:「ネパール」、 市: "" }, { 日付: "2017-05-03", 名前:「ブラックリリー」 地域:「女性」、 住所:「ヴォルスカヤ工業団地」 市: "" }, { 日付: "2017-05-04", 名前:「トレーサー」、 地域:「女性」、 住所:「キングスアベニュー」 市: "" }, { 日付: "2017-05-03", 名前:「ザリヤ」 地域:「女性」、 住所:「ヴォルスカヤ工業団地」 市: "" }, { 日付: "2017-05-03", 名前:「ゼニヤッタ」 地域:「男性」、 住所:「ネパール」、 市: "" }, { 日付: "2017-05-03", 名前: 「ハンゾー」 地域:「女性」、 住所: "Huamura", 市: "" } ]、 // 都市選択データ cityList: [ { 名前: "キングス・ロウ" }, { 名前: "ネパール" }, { 名前: "ヴォルスカヤ工業地帯" }, { 名前: "Huamura" }, { 名前: "ネパール" }, { 名前: "ムーンベース" } ]、 ダイアログフォーム表示: false、 フォームラベル幅: "80px", // フォームを追加するときに値をバインドするフォームを設定します: {}, 値6: "", 現在のページ3: 1, 現在のインデックス: "" }; }, 作成された() { // 読み込みアニメーションを 1.5 秒間表示するためのコールバック関数を設定します setTimeout(() => { this.loading = false; }, 1500); }, メソッド: { ショータイム() { this.$alert(this.value6, "開始時間と終了時間", { confirmButtonText: "確認", コールバック: アクション => { this.$メッセージ({ タイプ: "情報", メッセージ: 「表示されました」 }); } }); }, // データを追加する方法は、関数を追加するためにいくつかの値を個別に設定することです。これらの値はオブジェクトに設定され、新しく追加されたオブジェクトが合計データに挿入されますadd() { this.form = { 日付: ""、 名前: ""、 地域: ""、 住所: "" }; // ボタンをクリックした後に表示されるダイアログ ボックスを設定します。this.dialogFormVisible = true; }, アップデート() { // this.form.date = 再フォーマット(this.form.date); // HTML で日付形式を設定できます// 合計データに追加した情報を送信します this.tableData.push(this.form); this.dialogFormVisible = false; }, ハンドル編集(インデックス、行) { // データを実現するにはデータのインデックスを渡します echo this.form = this.tableData[index]; this.currentIndex = インデックス; //ダイアログ ボックスの可視性を設定します。this.dialogFormVisible = true; }, handleDelete(インデックス、行) { // コンソールに似た関数を設定します。type this.$confirm("ファイルを完全に削除します。続行しますか?", "Prompt", { confirmButtonText: "確認", cancelButtonText: 「キャンセル」、 タイプ: 「警告」 }) .then(() => { // 対応するインデックス位置のデータを削除します。バックグラウンドにデータを削除するように要求する行を設定できます。this.tableData.splice(index, 1); this.$メッセージ({ タイプ: "成功", メッセージ: 「正常に削除されました!」 }); }) .catch(() => { this.$メッセージ({ タイプ: "情報", メッセージ: 「削除されました」 }); }); }, キャンセル() { // キャンセルする場合は、ダイアログ ボックスを非表示に設定します。this.dialogFormVisible = false; }, ハンドルサイズ変更(val) { console.log(`ページあたり${val}項目`); }, 現在の変更を処理する(val) { console.log(`現在のページ: ${val}`); } } }; </スクリプト> <スタイル lang="scss"> .ベーステーブル{ .tableMain{ マージン: { 上: 10px; } } .ページ { フロート: 左; マージン: { 上: 10px; } } } </スタイル> 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: CentOS7 は yum を使用して mysql 8.0.12 をインストールします
nofollowをめぐる論争Zac と Guoping の間では、nofollow が PR を無駄...
目次1. ツールの紹介2. ワークフロー3. 操作インターフェースとパラメータ設定(1)監視と再起動...
まず、MySQL とは何かを理解しましょう。 MySQL は、スウェーデンの会社 MySQL AB ...
XHTML を書くには、明確な HTML 構文が必要です。 XHTMLを書くには、きれいなHTML構...
1. モバイル端末がリストスライドを処理するとき、WeChat には下部にページに戻るボタンが組み...
この記事では、シンプルなカレンダー効果を実現するためのJSの具体的なコードを参考までに紹介します。具...
目次序文ドローコールとはDrawCall はパフォーマンスにどのような影響を与えますか?ドローコール...
目次キャッシュキャッシュ位置の分類キャッシュ設定ヘッダーNodeは静的ファイルキャッシュを実装する強...
1. 2 列レイアウトとは何ですか? 2 列レイアウトには、左側が固定幅で右側が適応幅のレイアウトと...
<!DOCTYPE ヘムル パブリック> <html> <ヘッド&g...
CentOS6.9+Mysql5.7.18 ソースコードのインストールでは、以下の操作を root ...
最初のステップはmysqlコンテナを作成することです docker exec -it コンテナID ...
目次バージョンノートプロジェクトを作成する依存関係をインストールするコンテンツの記入src/serv...
目次1. テスト実験2. 制限ページング問題に対するパフォーマンス最適化手法2.1 テーブルをカバー...
目次1. 配列の平坦化の概念2. 実装1. 減らす2. toString と split 3. 結合...