こんなタグ作りたい
<mytag>
<p class={ hide: doEdit }>
<a class="icon1" onmousedown={ startEdit }></a>
<input type="text" value={ opts.value } readonly/>
</p>
<p class={ hide: !doEdit }>
<a class="icon2 onmousedown={ endEdit }></a>
<input name="editfield" type="text" value={ opts.value }/>
</p>
this.doEdit = false
startEdit(e){
this.doEdit = true
this.update()
}
endEdit(e){
this.doEdit = false
opts.value = this.editfield.value // this does not change opts.value, unfortunately
this.update()
}
</mytag>
それが機能した場合、私はそれを次のように使用できたはずです
var mydatamodel = {"input1":"email","input2":"name"}
<mytag value={ mydatamodel.input1 }></mytag>
<mytag value={ mydatamodel.input2 }></mytag>
残念ながら、これはうまくいかないようです。mydatamodel.xy が更新されず、opts.value に新しい値を割り当てることができません (例外はありません。opts.value は値を変更しません)。
子の「編集フィールド」の新しい値に従って親モデルを更新するにはどうすればよいでしょうか?
this.mytag[i].editfield を使用してデータにアクセスできます。しかし、これは大きなフォームには適していません。また、カスタム イベントを使用して、子タグでトリガーしようとしました。ただし、親タグでモデルを更新するための適切な一般的な解決策はまだ見つかりませんでした。このアプローチは、「this.mytag[i].editfield」のように不器用なものになりました。
書き込み可能な方法で子タグを作成する方法はありますか
<mytag value={ mydatamodel.input1 }></mytag>
子タグで変更されるとすぐに mydatamodel.input1 が更新される場所は?
ご意見ありがとうございます。