2017-10-30 3 views
4

createElement()ReactJSXに作成しています。ReactJSでcreateElementを使用すると、write data-remote = "true"

私のコードは次のようになります。私は(それがこのようなものである必要があり、この形態でdata-remote="true"を使用したい

var form = document.createElement('form'); 

form.id = "new_message_form"; 
form.method = 'post'; 
form.className = 'chat_input'; 

:?

form.data-remote="true"; 

誰もがこれを行う方法を助言することができ

答えて

1

data-remoteまたはremoteのような標準的な属性がhtml形式でないため、それはレールに特に関連するカスタム属性です。 DATA-上

ドキュメント*属性:https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes

だから、その属性を設定するには、明示的にこの属性を設定する必要があります。

form.setAttribute("data-remote", "true"); 
0

JSX

<form id="new_message_form" method="post" className="chat_input" data-remote="true"/> 
あなたはそれはあなたが必要なものにコンパイルされるかどうかを確認するためにバベルREPLでオンラインJSXを使用することができますJS

React.createElement("form", { id: "new_message_form", method: "post", className: "chat_input", "data-remote": "true" }) 

に脱糖

http://babeljs.io/repl/

+0

は、高速応答をいただき、ありがとうございます。私はこの形式を使用してこのフォームを生成します。 var form = document.createElement( 'form'); form.id = "new_message_form"; form.method = '投稿'; form.className = 'chat_input';私はこの形式のdata-remote = "true"に追加したいだけです。 (form.dataRemote = 'true'を使用している場合は動作していません。)そのコードの後に​​:document.getElementsByClassName( 'chat_windows')[0] .appendChild(div).appendChild(form).appendChild(input1) ; document.getElementsByClassName( 'chat_windows')[0] .appendChild(div).appendChild(フォーム).appendChild(input2);コードは私のフォームonClickを作成します... –

0

私は形成するために、直接属性を設定すると私の問題を解決しました。 コード:form.setAttribute( "data-remote"、 "true");

関連する問題