要展示多个名称,可以使用循环遍历 arr
数组,并将每个名称创建为一个 DOM 元素来展示。以下是修改后的代码示例:
self.uploadImageBtn.addClickHandler(function() {
let importWindow = new utsourceFileUploadNew();
importWindow.on('utsourceContractImportFileUploadNew import success', function(event, data, arr) {
console.log(arr, data);
// 清空旧数据
self.flag.empty();
if (Array.isArray(arr) && arr.length > 0) {
for (let i = 0; i < arr.length; i++) {
let repaymentName = arr[i].repaymentName;
let str = repaymentName.length > 20 ? repaymentName.substr(0, 20) + '...' : repaymentName;
// 创建展示元素
let linkElement = $('<a>')
.attr('style', 'text-decoration:none')
.attr('title', repaymentName)
.text(str);
let imgElement = $('<img>').attr('src', 'img/clear.png');
let flagElement = $('<div>').append(linkElement).append(imgElement);
// 设置点击事件
imgElement.on('click', function() {
self.repaymentName.setValue('');
self.flag.setValue('');
self.repaymentPath.setValue('');
self.flag.hide();
});
// 将元素添加到页面中
self.flag.append(flagElement);
}
// 显示flag元素
self.flag.show();
}
// 更新字段值(仅取最后一个数据)
if (data['repaymentName'] != null) {
let lastRepaymentName = arr[arr.length - 1].repaymentName;
self.repaymentName.setValue(lastRepaymentName);
self.flag.find('a').text(lastRepaymentName); // 更新展示元素中的文本
self.repaymentPath.setValue(data['repaymentPath']);
}
});
importWindow.show();
});
这样修改后,会遍历 arr
数组并为每个名称创建一个链接元素,并在 flag 元素中展示出来。点击清除按钮时,将清空相关字段值并隐藏 flag 元素。
请注意,在遍历 arr
数组之前,代码会先清空旧数据,以确保只展示最新的数据。同时,更新字段值时仅取最后一个数据的值进行更新。
内容由零声教学AI助手提供,问题来源于学员提问