すっかり準備を忘れてました。
日付が変わる前に間に合えばセーフでしょうか。。。
さっぱりフロントエンドに開発に疎いのですが、仮想DOMとはなんぞや?という興味から最近Mithril.jsを触っています。
すみません、時間がないのでここまでで一番嵌った思い出を。
コンポーネントでのHTMLタグ属性の制御
テキストボックをカプセル化するコンポーネントを作ろうとして。
特定のテキストボックスだけは読み取り専用にしたい、となってdisabeledを使う分にはなんの問題もなく。
<input type="text" id={item.id} class={item.cls}
value={item.value} onchange={m.withAttr("value", item.value)}
disabled={item.disabled} />
しかし、disabledではなくreadonlyだと選択、コピーができていいな!となって同じように設定するもうまく動かず。
ずっとハマってif文で分けるしかないのか……と悩んでいたある日、公式ドキュメントを眺めていたらそのものズバリの回答が。
以下Mithril.jsのAPIガイド m - Mithril からの引用です。
//`readonly`の設定にJavaScript文法(大文字の"O"になる)を使用
//HTML属性とは異なり、JavaScriptのプロパティではboolean型を使用する
m("input", {readOnly: true}); //yields <input readonly />
//HTML属性名は`setAttribute`が使われるため期待と異なることがある
m("input", {readonly: false}); //<input readonly="false" />は属性が存在するので読み込み専用
ここでは上記の通りreadonlyではなくreadoOnlyを使う、が正解でした。