現在、私のアプリケーションにdropzone.js
Doc Refを実装しようとしています。しかし、私はdropzone.jsの基本機能を実行していたのでdropzone.jsを含む文字列テンプレート内でvue.js構文を使用する方法
preview-template
をカスタマイズして、さまざまなアプリケーション状態でアップロードプログレスバーを非表示にして表示したいと考えています。
dropzone
インスタンスの初期化中に、オプションオブジェクトにhtml文字列を渡して、preview-template
をカスタマイズできます。 dropzone.js
文書に記載されていますが、明らかに、このhtml文字列に単純に振りかけると、vue
の構文は処理されません。何とか処理する必要があります。
は問題:
私は何をしたいことは、このプレビューテンプレート内vue.js
構文を使用することです。 これは私が話しているコンポーネントです。
コード:
<dropzone id="myVueDropzone" :use-custom-dropzone-options=true
:dropzoneOptions="dzOptions"
:url="photosForm.uploadImageUrl"
v-on:vdropzone-removed-file="deleteImage"
:preview-template="templatePreview"
v-on:vdropzone-success="showSuccess">
</dropzone>
Vueのスクリプトコード:
import Dropzone from 'vue2-dropzone';
export default {
methods: {
templatePreview(){
return `
<div class="dz-preview dz-file-preview">
<div class="dz-image" style="width: 200px;height: 180px">
<img data-dz-thumbnail />
</div>
<div class="dz-details">
<div class="dz-size"><span data-dz-size></span></div>
<div class="dz-filename"><span data-dz-name></span></div>
</div>
<div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>
<div class="dz-error-message"><span data-dz-errormessage></span></div>
<div class="dz-success-mark"><i class="fa fa-check"></i></div>
<div class="dz-error-mark"><i class="fa fa-close"></i></div>
</div>
<div class="">
<select class="form-control" title="" name="image_type">
<options v-for="type in image_type" value="type.value">{{ type.title }}</options>
</select>
</div>
`;
}
},
}
githubののコンポーネントの所有者が言う、
残念ながら、あなたのやりたいことは現時点では容易ではありませんが、うまくいくでしょう。私たちは、この中を焼く方法を考え出すことができれば、我々が表示されますので、我々は現在、このモジュールの書き換えのビットを計画している。Here
プレビューテンプレートでVueを使用することはできません。プレビューで作成されたドロップゾーンを非表示にして、手動で 'v-for'でファイルを繰り返し処理する必要があります} – Slim
@Slimはい、しかし、それはdropzoneの領域に表示されませんまた、私はそのことが動的で反応が欲しい –