Tôi hiện đang cố gắng triển khai dropzone.js
Doc Ref - vào ứng dụng của tôi. Nhưng vì tôi đã quản lý chức năng cơ bản của dropzone.jsCách sử dụng cú pháp vue.js bên trong một mẫu chuỗi với dropzone.js
Tôi muốn tùy chỉnh preview-template
để ẩn và hiển thị thanh tiến trình tải lên trong trạng thái ứng dụng khác nhau.
Tôi có thể tùy chỉnh preview-template
bằng cách chuyển chuỗi html đến đối tượng tùy chọn trong khi khởi tạo phiên bản dropzone
. Như đã nêu trong tài liệu dropzone.js
Nhưng rõ ràng cú pháp vue
sẽ không được xử lý nếu tôi chỉ cần rắc nó lên chuỗi html này. Nó bằng cách nào đó đã được xử lý để thực hiện điều này.
Vấn đề:
gì tôi muốn làm là sử dụng vue.js
cú pháp bên này xem trước mẫu. Đây là thành phần tôi đang nói đến.
Code:
<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-Script Code:
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>
`;
}
},
}
chủ sở hữu phần của github nói,
Thật không may những gì bạn muốn làm là không dễ dàng đạt được vào lúc này, mặc dù nó sẽ được tốt đẹp. Chúng tôi hiện đang lên kế hoạch cho việc viết lại mô-đun này, vì vậy, chúng tôi sẽ xem liệu chúng tôi có thể tìm ra cách để làm điều này. Here
Bạn không thể sử dụng Vue trong mẫu xem trước, bạn phải ẩn bản xem trước được tích hợp sẵn của vùng thả xuống và sau đó lặp lại theo cách thủ công trên các tệp với 'v-for';} – Slim
@Slim Có tôi phải làm điều gì đó như vậy, nhưng nó sẽ không được hiển thị trong khu vực dropzone và tôi cũng muốn điều đó năng động và phản ứng –