エコー後に要素編集フォーム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ドメイン名設定の落とし穴の詳細な説明

推薦する

ffmpeg 中国語パラメータの説明と使用例

1. ffmpeg がビデオ ファイルをプッシュする場合、オーディオとビデオのエンコード形式は H2...

CentOS6.9+Mysql5.7.18 ソースコードのインストール詳細チュートリアル

CentOS6.9+Mysql5.7.18 ソースコードのインストールでは、以下の操作を root ...

PHP+nginx サービス 500 502 エラーのトラブルシューティングのアイデアの詳細な説明

概要オンラインサービスへのアクセス中に 500 または 502 エラーが発生した場合、緊急処理とトラ...

MySql 組み込み関数の自習知識ポイントまとめ

文字列関数文字ascii(str)のASCIIコード値をチェックし、strが空の文字列の場合は0を返...

画像を読み込むための JavaScript キャンバス

この記事では、画像を読み込むためのJavaScriptキャンバスの具体的なコードを参考までに紹介しま...

JavaScript ドラッグタイム ドラッグケースの詳細な説明

目次DragEvent インターフェースデータ転送インターフェースの概要DataTransfer の...

Ubuntu の Python で C/C++ メソッドを呼び出すダイナミック リンク ライブラリの詳細な説明

ブーストをインストールPython から C/C++ を呼び出す方法はたくさんあります。この記事では...

CSS を使用して 3 列のアダプティブ レイアウト (両側は固定幅、中央はアダプティブ) を実現します。

いわゆる 3 列適応レイアウトとは、両側の幅が固定され、中央のブロックの幅が適応されることを意味しま...

CSS3でアニメーションを実装する3つの方法

これは、面接者の CSS に関する基本的な知識をテストするものです。 CSSでアニメーションを実装す...

MySQL インデックスのクイックガイド

MySQL インデックスの確立は、MySQL の効率的な操作にとって非常に重要です。インデックスによ...

Docker-compose を使用して ELK クラスターを構築する方法

すべてのオーケストレーション ファイルと構成ファイルは、私の Github からアクセスできます。構...

WeChatアプレットがジグソーパズルゲームを実装

この記事では、WeChatアプレットでジグソーパズルゲームを実装するための具体的なコードを参考までに...

よく使われる HTML タグとその特徴の完全なリスト

まず、HTML タグのいくつかの特性を知っておく必要があります。 1. 「<keyword&g...

Node の SMS API で検証コード ログインを実装するためのサンプル コード

1. ノードサーバーのセットアップ + データベース接続ここでの操作は比較的簡単でわかりやすいです。...

Dockerが新しいイメージをロードした後にリポジトリとタグ名が両方ともnoneになる問題を解決する

次のコマンドを使用できます: docker tag [イメージID] [名前]:[バージョン]例えば...