bootstrap fileinput 当前页面多次初始化为什么不生效?

新手上路,请多包涵

bootstrap fileinput 当前页面多次初始化只有第一次生效,第二次不生效

function initFileInput(ctrlName, uploadUrl, oldImgUrl) {

var oldImgUrls = new Array();
var urls = new Array();
if (oldImgUrl != null) {
    var a = {caption: oldImgUrl, downloadUrl: oldImgUrl, width: "120px", key: 1}
    oldImgUrls.push(a)
    urls.push(oldImgUrl)
}
var control = $('#' + ctrlName);
control.fileinput({
    theme: "fa",//主题
    uploadUrl: uploadUrl,
    initialPreview: urls,
    initialPreviewAsData: true,
    initialPreviewConfig: oldImgUrls,
    allowedFileExtensions: ["png", "jpg", "gif", "jpeg"],
    overwriteInitial: true,//再次点击覆盖
    showUpload: false, //是否显示上传按钮
    maxFileCount: 1,//最大上传个数
}).on('fileuploaded', function (event, data, previewId, index) {
    vm.bsaNews.imgUrl = (data.response.content);
}).on("filebatchselected", function (event, files) {
    $(this).fileinput("upload");
});

}

var ue = UE.getEditor('editor');
var vm = new Vue({

el: '#rrapp',
data: {
    showList: true,
    title: null,
    bsaNews: {},
    newsTypes: {}
},
created(){
    this.getNewsType()
},
methods: {
    query: function () {
        vm.reload();
    },
    add: function () {
        vm.showList = false;
        vm.title = "新增";
        vm.bsaNews = {"type":0};
        initFileInput("input-b1", baseURL + 'upload/fdsimg', null);
        ue.setContent("")
        $(".fileinput-remove-button").click();
    },
    update: function (event) {
        var id = getSelectedRow();
        if (id == null) {
            return;
        }
        vm.showList = false;
        vm.title = "修改";

        vm.getInfo(id)
    },
    saveOrUpdate: function (event) {
        $('#btnSaveOrUpdate').button('loading').delay(1000).queue(function () {
            var url = vm.bsaNews.id == null ? "sys/bsanews/save" : "sys/bsanews/update";
            vm.bsaNews.detail = ue.getContent();
            ue.setContent("")
            $.ajax({
                type: "POST",
                url: baseURL + url,
                contentType: "application/json",
                data: JSON.stringify(vm.bsaNews),
                success: function (r) {
                    if (r.code === 0) {
                        layer.msg("操作成功", {icon: 1});
                        vm.reload();
                        $('#btnSaveOrUpdate').button('reset');
                        $('#btnSaveOrUpdate').dequeue();
                    } else {
                        layer.alert(r.msg);
                        $('#btnSaveOrUpdate').button('reset');
                        $('#btnSaveOrUpdate').dequeue();
                    }
                }
            });
        });
    },
    del: function (event) {
        var ids = getSelectedRows();
        if (ids == null) {
            return;
        }
        var lock = false;
        layer.confirm('确定要删除选中的记录?', {
            btn: ['确定', '取消'] //按钮
        }, function () {
            if (!lock) {
                lock = true;
                $.ajax({
                    type: "POST",
                    url: baseURL + "sys/bsanews/delete",
                    contentType: "application/json",
                    data: JSON.stringify(ids),
                    success: function (r) {
                        if (r.code == 0) {
                            layer.msg("操作成功", {icon: 1});
                            $("#jqGrid").trigger("reloadGrid");
                        } else {
                            layer.alert(r.msg);
                        }
                    }
                });
            }
        }, function () {
        });
    },
    getInfo: function (id) {
        $.get(baseURL + "sys/bsanews/info/" + id, function (r) {
            vm.bsaNews = r.bsaNews;
            initFileInput("input-b1", baseURL + 'upload/fdsimg', vm.bsaNews.imgUrl);
            ue.setContent(vm.bsaNews.detail)
        });
    },
    reload: function (event) {
        vm.showList = true;
        var page = $("#jqGrid").jqGrid('getGridParam', 'page');
        $("#jqGrid").jqGrid('setGridParam', {
            page: 1
        }).trigger("reloadGrid");
    },
    getNewsType: function (event) {
        $.ajax({
            type: "POST",
            url: baseURL+"bsa/dict/getListByType",
            contentType: "application/json",
            data: JSON.stringify({"type":"news_type"}),
            success: function(result){
                if(result.code == 0){//登录成功
                    vm.newsTypes=result.content
                }else{
                    alert(result.msg)
                }
            }
        });
    }
}

});

阅读 4k
1 个回答
新手上路,请多包涵

$('#id').fileinput('clear');

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题