エコー後に要素編集フォームel-radioが選択できない問題を解決します

エコー後に要素編集フォームel-radioが選択できない問題を解決します

序文

この記事の内容は私がこの業界に入ったときのメモを元にしているため、非常に基礎的な内容であり、初心者向けであることをあらかじめ指摘しておきます。専門家の皆様、時間を無駄にしないために迂回してください、ありがとうございます〜

今日は、element-ui 編集フォームの el-radio がエコー後に選択できない問題についてお話しします。これは主に、vue の双方向バインディングと element-ui 編集フォームの el-radio のデフォルト タイプに関係しています。

質問

これは午前中半分悩まされたバグです。フォームのスタイルとコードは次のとおりです。

問題は、データがエコーされた後、他のラジオをクリックして何かを選択しても、それをチェックできないことです。

オンラインで同じ問題とその解決策を見つけましたが、原因はまだ見つけられませんでした。

オンラインソリューション

元々、バックグラウンドから取得したデータ res.data は editPowerForm に直接割り当てられていました。ここで、まず res.data を let obj に割り当て、次に obj を editPowerForm に割り当てる必要があります。

理由は、editPowerForm が変数 radio を宣言していないためです。Vue での双方向データバインディングのサポートは、基本的な追加と削除の方法に限られています。詳細については、公式サイトを参照してください。ここでは、宣言されていない変数に値を直接割り当てることと同じなので、双方向バインディングは Vue によってリッスンされず、つまり更新は行われません。最初に obj に値を割り当てることは、値を割り当てる前にラジオを宣言することと同じなので、双方向バインディングによってリッスンできます。

少しわかりにくいですが、簡単に言うと、Vue の双方向バインディングでリッスンできるようにするには、まずオブジェクトの特定の属性を作成する必要があります。

また、次の点にも注意してください。

ラジオの値は、デフォルトで文字列型である必要があります。バックグラウンドによって返される値が int 型の場合、ラジオはデフォルトで選択されません。

ご存知のとおり、js オブジェクトを参照する場合、参照されるのは実際にはインデックス アドレスです。フロント エンドがディープ コピーとシャロー コピーを拡張するのはそのためです。オブジェクト内でのみ変更が発生した場合、インデックス値は実際には変更されません。つまり、インデックスは同じオブジェクトを指しているため、古い値と新しい値は同じです。

実際、詳細な監視のために $set または watch を直接使用することも可能です。幸いなことに、vue3 ではプロキシを使用して双方向バインディングを実装しているため、配列/オブジェクトの変更を監視できないという問題を心配する必要がなくなりました。

el-radio echo の要素編集フォームが選択できない問題を解決する方法についての記事はこれで終わりです。el-radio echo が選択できないことに関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • ElementUIラジオコンポーネント選択の小さな変換
  • ElementUi vue el-radio は選択された変更を監視します サンプルコード
  • ラジオ制御情報を表示するためにループする要素UI方式

<<:  Linux lessコマンド例の詳細な説明

>>:  Apacheドメイン名設定の落とし穴の詳細な説明

推薦する

Dockerイメージのインポートとエクスポートの実装

GitLabのDocker使用法gitlab ドッカー起動コマンド docker run -d -p...

1時間で学ぶMySQLの基礎

目次MySQL を使い始めるMySQL 管理6. MySQL サーバーを起動および停止します。 7....

mysql 8.0.19 win10 クイックインストールチュートリアル

このチュートリアルでは、参考までにMySQL 8.0.19のインストールチュートリアルを共有します。...

Firefox で Flash を再生するためのオブジェクトとパラメータの書き方

コードをコピーコードは次のとおりです。 <object classid="clsid...

Vue3 を使用してポップアップ コンポーネントをカプセル化するのは簡単ですか?

目次最初に要約: 🌲🌲 序文: 🍬🍬公開🍬🍬 🍬🍬グローバル🍬🍬 🍬🍬ボールボックス🍬🍬 🎉🎉🎉結論...

SMS送信のカウントダウンを実装するJavaScript

この記事では、SMS送信のカウントダウンを実装するためのJavaScriptの具体的なコードを参考ま...

JS はシンプルなブロック崩しピンボールゲームを実装します

この記事では、ブロック崩しピンボールゲームを実装するためのJSの具体的なコードを参考までに紹介します...

ページにスクロールバーが表示されたときに、スクロールバーがページ幅に影響しないようにする方法

本体の幅をウィンドウの幅に設定します(次のスクリプトで制御されます) $("body&qu...

mysql 行列変換サンプルコード

1. 需要3 つのテーブルがあります。一定期間にわたるさまざまな抗生物質感受性の結果、つまり rep...

JS は複数のタブを切り替えるカルーセルを実装します

カルーセルアニメーションは、ページの外観とインタラクティブなパフォーマンスを向上させることができます...

Docker で LNMP 環境を素早く構築する方法 (最新)

序文ヒント: ここで、この記事に記録するおおよその内容を追加できます。例えば、人工知能の継続的な発展...

クールなページング効果を実現するネイティブJS

この記事では、次のような効果を持つ JS ページング効果の例を紹介します。クールだと思いませんか? ...

MySQL SQL ステートメント分析とクエリ最適化の詳細な説明

パフォーマンスの問題のあるSQL文を取得する方法1. ユーザーからのフィードバックを通じてパフォーマ...

CSSは左固定と右適応のレイアウト方法を実現します

1. フローティングレイアウト1. 最初に固定幅の div をフロートさせます。ドキュメントフローか...

MySQLデータベースバックアップのさまざまな実装方法の概要

この記事では、MySQL データベースのバックアップを実装するさまざまな方法について説明します。ご参...