See the Pen jQoXOw by Karl Saunders (@Mobius1) on CodePen.

    /* --------- DROPZONE INSTANCE --------- */
        const DROPZONE = new Dropzone("#dropzone", {
            autoProcessQueue: false,
            clickable: '#addFiles',
        });

        /* --------- SELECTABLE INSTANCE --------- */
        const SELECTABLE = new Selectable({
            appendTo: "#dropzone",
            ignore: "[data-dz-remove]", // stop remove button triggering selection
        });

        /* --------- SELECTABLE EVENTS --------- */
        SELECTABLE.on("end", (e, selected) => {
            // show the "removeFiles" button if we have selected files
            removeFiles.classList.toggle("active", selected.length);
        });

        /* --------- DROPZONE EVENTS --------- */
        DROPZONE.on("addedfile", function(file) {
            const el = file.previewElement;

            // add element to Selectable instance when added by Dropzone
            SELECTABLE.add(el);
        });

        DROPZONE.on("removedfile", function(file) {
            const el = file.previewElement;

            // remove element from Selectable instance when removed by Dropzone
            SELECTABLE.remove(el);
        });

        /* --------- BUTTONS --------- */
        const removeFiles = document.getElementById("removeFiles");

        removeFiles.addEventListener("click", e => {
            // get files
            const files = DROPZONE.files;

            if ( files.length ) {
                for ( const file of files ) {
                    // get the item instance from Selectable
                    const el = SELECTABLE.get(file.previewElement);

                    // if it's selected, then remove it.
                    // Dropzone is set to listen to "removedfile" and
                    // will remove it from the Selectable instance
                    if ( el.selected ) {
                        DROPZONE.removeFile(file);

                        // hide the button
                        removeFiles.classList.remove("active");
                    }
                }
            }
        });