1
私はセマンティックUIドロップダウンを新しい値で更新しようとしています。 Vueは正しく更新されていますが、私はセマンティックUIドロップダウンをリフレッシュしていますが、まだ更新していません。私はキーの使用を述べた別の記事を見たが、それでも失敗する。vueでセマンティックUIドロップダウンリストを更新するにはどうすればよいですか?
テンプレート
<div id=root>
<label>Type:</label>
<select id="app_type" class="ui search selection dropdown" v-model="model_type_val">
<option v-for="model_type in model_types" v-bind:value="model_type.value" v-bind:key="model_type.value">{{model_type.text}}</option>
</select>
<p>
selected: {{model_type_val}}
</p>
</div>
コード
var model_types2= [
{value:"",text:"Type"},
{value:"type1",text:"Type1a"},
{value:"type2",text:"Type2a"},
{value:"type3",text:"Type3a"},
{value:"type4",text:"Type4"}
];
var vm2= new Vue({
el:'#root',
data:{
model_type_val:"",
model_types:[
{value:"",text:"Type"},
{value:"type1",text:"Type1"},
{value:"type2",text:"Type2"},
{value:"type3",text:"Type3"}
]
},
mounted: function(){
$('#app_type').dropdown();
setTimeout(function() {
this.model_types=model_types2;
alert(this.model_types[1].text);
$('#app_type').dropdown('refresh');
}, 1000);
}
});
私はthis jsfiddleでコードを再現しようとしました。
恐縮です、ありがとう! jquery tipも好きです。私は前にrefを使っていません。私はずっとjqueryを使ってきましたが、何かを素早く書き込もうとすると、私のデフォルトです。私はvueに移動するときにそれを逃れることを望んでいた。意味論はそれを使用します。 :) – user2265754
私は最後の要素を削除し、エントリの1つのテキストのみを変更するためにjsfiddleを変更しました。なぜそれが更新されないのか知っていますか? https://jsfiddle.net/tvinci/5dkb2r62/ – user2265754
@ user2265754それは 'key'、' model_type.value'のためだと思います。これをキーとして使用し、オプションを同じ 'key'を持つリストに置き換えることで、Vueはオリジナルを再利用しています。以前にも起こらなかった奇妙なようだ。私は[コードを更新しました](https://jsfiddle.net/5dkb2r62/1/)を変更しましたが、必要ではないと思ういくつかの行を削除しました。 – Bert