一般的な質問:私はそれが私のテーブルレイアウトを台無し要素に包まれ、デフォルトでだテーブルの全幅を埋めるために、私のドロップゾーンに追加された行を取得できますかDropzoneJS
。
説明:
私はテーブル形式でアップロードされたファイルを表示するためにDropzoneJSを取得しようとしています。私のDropzoneが正しくテーブルにありますが、プレビューテンプレートを正しく表示することができません。すべての まず、ドロップゾーンが<td></td>
要素にファイルを追加することはできませんので、問題が発生するので、私はこの使用してCSS
<div class="div-tr">
<div class="div-td"></div>
<div class="div-td"></div>
</div>
私の目標は、どのDropzoneJSにpreviewTemplateを追加することがあるようなテーブルのレイアウトフォーマットに私のテーブルを変換しました問題は、デフォルトでドロップゾーンがpreviewTemplateで<div>
にクラスdz-processing dz-image-preview dz-error dz-success
のセットを追加することにある
<div class="div-tr">
<div class="div-td">
<i class="fa fa-file-o"></i>
</div>
<div class="div-td">
<div class="dz-filename">
<span data-dz-name></span>
</div>
</div>
<div class="div-td">
<div class="dz-size" data-dz-size></div>
</div>
<div class="div-td">
<div class="dz-progress">
<span class="dz-upload" data-dz-uploadprogress></span>
</div>
</div>
<div class="div-td">
<div class="dz-success-mark">
<span>✔</span>
</div>
<div class="dz-error-mark">
<span>✘</span>
</div>
</div>
</div>
次のようになります。ドキュメントによれば、それらは
class="dz-preview"
で
<div>
に追加されますが、そのクラスが存在するかどうかにかかわらず、そのプレビューテンプレートが注入されるコンテナの最初の内部要素として追加されます。 これは、previewTemplate 、、テーブルの行であると考え、それは性質だ失って、今だけ余分
<div>
行のインナーラップが追加されることがあるため、これが起こる最初
<div class="div-td">
+-------------+--------------+-----------+----------+
| | | | | Existing row
+-------------+--------------+-----------+----------+
| | | | | Existing row
+-------------+--------------+-----------+----------+
| | | | | Existing row
+-------------+--------------+-----------+----------+
| | | | | Existing row
+-------------+--------------+-----------+----------+
| | | | | Row added by upload
+---+---+--+--+
の幅で示しました。テーブルの
私のCSSレイアウトのために、この
/* DIV table style */
.div-table{
display: table;
width: 100%;
background-color: #fff;
}
.div-tr{
display: table-row;
}
.div-th, .div-td {
display: table-cell;
padding: 8px 15px;
border-bottom: 1px solid #eaeff0;
vertical-align: middle;
}
.div-thead{
display: table-header-group;
font-weight: bold;
}
.div-tfoot{
display: table-footer-group;
font-weight: bold;
background-color: #fff;
}
.div-tbody{
display: table-row-group;
}
ドキュメントがここに発見されたようになっていますhttp://www.dropzonejs.com/#layout
CSSを変更したり、JSが評価されてのためにすべてのヘルプ。
私は既にあなたが提案しているすべてのものを試してみましたが、すべてのリンクを通過しました。もともとは実際のテーブル要素を持つテーブルとしてすべてを持っていましたが、それをBowerの依存関係として使用した後、私はこのエラーを受け取りました。 'dropzone.min.js:1 Uncaught TypeError:a.previewElement.querySelectorAllは関数ではありません。私はそれを調査し、誰もがテーブル要素ではないと書いていることを発見しました。 投稿したJSの例を使用すると、「innerHTML is undefined」と表示されます。これはAngularアプリだと思います。これらのことが起こる理由についてのヒントはありますか?私はもっと調査します。 – nicolaib
InnerHTMLステートメントを追加すると 'TypeError:プロパティ 'innerHTML' of nullが読み取れません.InnerHTMLステートメントを追加すると、インスタンス化時にDOMがロードされないためです。私はこれを$ timeoutとそれを解決する同様のもので修正しようとしましたが、私はさらにエラーが続いています。 – nicolaib
@nicolaib私はあなたが理解しているのを見て、ちょうどあなたが言っているように、おそらく他のエラーのように、あなたが得ているエラーを指摘したいのですが、要素がまだロードされていないからです。 html本文の最後、 '