element-uiを解決するプルダウン枠は値がありますが、選択できない場合があります。
3855 ワード
問題の説明:
Vueフレームとelement-uiを使って開発した時に、ドロップダウン枠は問題に出会いました。関数の中でページのある値を変えました。関数の中では修正に成功しましたが、ページの中で変更後の値を適時に更新していません。つまり、ドロップダウン枠の値は選択できません。穴を踏んでわけがわからない。
コードセグメント:
この問題が発生したのは、ドロップダウンフレームのデータが他のインターフェースを循環して得られたからです。データのレベルが多すぎて、ランダー関数が自動更新されていません。手動で強制更新しなければならないので、直接に値を更新しました。
一つの方法を書いて、selectのchangeイベントでこの方法を呼び出して、this.$forceUpdate()を使って強制的に更新して、ページの正常な選択値。
同じように、forceUpdate()という方法もいくつかの深いコンポーネントstateが変更された場合には、このコンポーネントの上で呼び出すことができ、ページv-forでitem属性値を修正した後、ページのページ値が変更されない問題を解決します。
追加の知識:element ui selectを解決して、フォームレコードを編集する時、データが表示されませんでした。デフォルトで選択された問題です。
フロントエンドはvueを使用しています。プロジェクトではelement uiのコンポーネントを使用しています。selectのドロップダウンボックスを使用して選択すると、記録が追加されます。しかし、記録を編集する時に、編集画面もselectのドロップダウンのために値を割り当てましたが、データは表示されませんでした。
まずselectを一つ置いて、複数のドロップダウンボックスを編集した場合、データを正しくロードする表示効果図:
コンボコードは以下の通りです。
コードは以下の通りです
次の図のように
解析:selectセレクタがデータの表示に対して、selectドロップダウンフレームのデータソースに対応するvalue値にマッチした場合、対応するlabelが表示されます。もし一致していなかったら、このvalueが表示されます。
ここでは、プルダウンボックスのvalue値に一致していないので、直接表示されるこのフィールドの値です。
ブラウザコントロールでデータソースのデータを出力します。
ブラウザコンソールから出力された文字列は、配列の値に変換されます。
selectのドロップダウンボックスの中のidとv-modeの中で結合されているidのデータの種類が一致しないことが分かりました。データの値は同じですが、一つは文字列で、一つは整数値です。バックエンドに戻った文字列を配列に変換すると、シェイプ配列に変換し、ドロップダウン枠を正しく表示することができます。
コードは以下の通りです
以上の解決のelement-uiのコンボボックスは値がありますが、選択できない場合は、小編集が皆さんに提供した内容の全部を共有しています。参考にしていただければと思います。よろしくお願いします。
Vueフレームとelement-uiを使って開発した時に、ドロップダウン枠は問題に出会いました。関数の中でページのある値を変えました。関数の中では修正に成功しましたが、ページの中で変更後の値を適時に更新していません。つまり、ドロップダウン枠の値は選択できません。穴を踏んでわけがわからない。
コードセグメント:
<el-select v-model="value" placeholder=" " @change="change()">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
解決方法:この問題が発生したのは、ドロップダウンフレームのデータが他のインターフェースを循環して得られたからです。データのレベルが多すぎて、ランダー関数が自動更新されていません。手動で強制更新しなければならないので、直接に値を更新しました。
一つの方法を書いて、selectのchangeイベントでこの方法を呼び出して、this.$forceUpdate()を使って強制的に更新して、ページの正常な選択値。
change(){
this.$forceUpdate()
},
リボン:同じように、forceUpdate()という方法もいくつかの深いコンポーネントstateが変更された場合には、このコンポーネントの上で呼び出すことができ、ページv-forでitem属性値を修正した後、ページのページ値が変更されない問題を解決します。
追加の知識:element ui selectを解決して、フォームレコードを編集する時、データが表示されませんでした。デフォルトで選択された問題です。
フロントエンドはvueを使用しています。プロジェクトではelement uiのコンポーネントを使用しています。selectのドロップダウンボックスを使用して選択すると、記録が追加されます。しかし、記録を編集する時に、編集画面もselectのドロップダウンのために値を割り当てましたが、データは表示されませんでした。
まずselectを一つ置いて、複数のドロップダウンボックスを編集した場合、データを正しくロードする表示効果図:
コンボコードは以下の通りです。
<el-form-item prop="czfaIds" label=" ">
<el-select v-model="form.czfaIds" multiple style="width:80%;" placeholder=" " clearable :disabled="showControl">
<el-option
v-for="item in czfas"
:key="item.value"
:label="item.wsdFamc"
:value="item.id"
/>
</el-select>
</el-form-item>
コンボボックスのデータソースczfasは配列で、選択された値も行列です。しかし、バックエンドに格納するときは文字列に変換してデータベースに保存しますので、編集画面でバックエンドから取得した戻り値は文字列です。この文字列を行列に変換して、selectのv-model属性に結合します。コードは以下の通りです
//
queryEditRow(index, row) {
this.titleInfo = ' '
this.dialogVisible = true
this.form = Object.assign({}, row)
// , select v-model
this.form.czfaIds = row.czfaIds.split(',')
this.showbtn = true
this.showControl = false
},
それでも問題があり、選択されたソリューションのID値が表示され、選択されたオプションが選択されていません。次の図のように
解析:selectセレクタがデータの表示に対して、selectドロップダウンフレームのデータソースに対応するvalue値にマッチした場合、対応するlabelが表示されます。もし一致していなかったら、このvalueが表示されます。
ここでは、プルダウンボックスのvalue値に一致していないので、直接表示されるこのフィールドの値です。
ブラウザコントロールでデータソースのデータを出力します。
ブラウザコンソールから出力された文字列は、配列の値に変換されます。
selectのドロップダウンボックスの中のidとv-modeの中で結合されているidのデータの種類が一致しないことが分かりました。データの値は同じですが、一つは文字列で、一つは整数値です。バックエンドに戻った文字列を配列に変換すると、シェイプ配列に変換し、ドロップダウン枠を正しく表示することができます。
コードは以下の通りです
//
queryEditRow(index, row) {
this.titleInfo = ' '
this.dialogVisible = true
this.form = Object.assign({}, row)
// ,
var arrStringCzfaIds = row.czfaIds.split(',')
// Number,
var arrIntCzfaIds = []
for (var arrInt in arrStringCzfaIds) {
arrIntCzfaIds.push(parseInt(arrStringCzfaIds[arrInt]))
}
// Number , select v-model
this.form.czfaIds = arrIntCzfaIds
this.showbtn = true
this.showControl = false
},
このとき表示される効果は冒頭の効果です。以上の解決のelement-uiのコンボボックスは値がありますが、選択できない場合は、小編集が皆さんに提供した内容の全部を共有しています。参考にしていただければと思います。よろしくお願いします。