用于替代元素的组件,其中的项目本身可以是复杂元素。被核心Switch和Change节点所使用。
类型: 布尔值|字符串
决定是否在列表下方显示一个按钮,点击该按钮将在列表中添加一个新条目。
如果未指定,或设置为true(布尔值),则会显示一个文本为"添加"的按钮。
如果设置为false(布尔值),则不显示该按钮。
如果设置为非空字符串,将显示一个按钮,其值将作为按钮的文本。
$("ol.list").editableList({
addButton: "pets"
});
类型: 函数
当有新项被添加到列表时调用的回调函数。
row - 应将任何行内容添加到的jQuery DOM元素index - 行的索引值data - 该行的数据对象如果通过点击“添加按钮”触发,data将为{}。否则它将作为传递给addItem方法调用的数据。
$("ol.list").editableList({
addItem: function(row, index, data) {
$(row).html("Item "+index);
}
});
类型:数组
一组按钮对象,需要添加到可编辑列表底部。 每个按钮对象可以包含以下属性:
label - (可选)按钮标签文本icon - (可选)按钮图标title - (可选)按钮的提示文本click - 按钮被点击时将执行的回调函数请注意,当addButton被激活时,"添加按钮"会被隐式添加到这个数组中。
$("ol.list").editableList({
addItem: function(row, index, data) {
$(row).html("Item "+index);
}
buttons: [{
label: "with icon",
icon: "fa fa-star",
title: "my custom button",
click: function(evt) {
alert("button clicked");
}
}]
});
类型: CSS选择器
如果列表是可排序的,此选项允许将项目从此列表拖动到任何其他jQuery sortable列表,例如另一个editableList。
$("ol.list").editableList({
connectWith: ".my-other-list"
});
类型:DOM/JQuery对象
将DOM/JQuery对象作为列表的头部插入。
$("ol.list").editableList({
header: $("<div>").append($.parseHTML("<div style='width:40%; display: inline-grid'>Name</div><div style='display: inline-grid'>Type</div>")),
});
类型: 字符串|数字
设置列表的高度,包括其添加按钮(如果启用)。将高度设置为“auto”会移除垂直滚动条,并以完全显示内容所需的高度展示列表。
$("ol.list").editableList({
height: 300
});
类型: 函数
一个回调函数,用于筛选列表中可见的项目。
data - 该行对应的数据对象该函数应返回true/false(布尔值)以指示该项是否应可见。
$("ol.list").editableList({
filter: function(data) {
return data.index%2 === 0
}
});
类型: 函数
当列表大小发生变化时调用的函数。
$("ol.list").editableList({
resize: function() {
console.log("I have changed in size")
}
});
类型: 函数
当列表大小发生变化时,针对列表中每个项目调用的函数。
row - 该行对应的jQuery DOM元素index - 行的索引该项目的原始数据存储在名为data的属性下。
此回调在主resize回调被调用后触发。
$("ol.list").editableList({
resizeItem: function(row,index) {
var originalData = $(row).data('data');
console.log("Resize the row for item:", originalData)
}
});
类型: 布尔值
决定当新增条目时,列表是否应自动滚动至底部。
如果未指定或设置为true(布尔值),列表将滚动显示新添加的项目。
如果设置为false(布尔值),列表将不会滚动。
$("ol.list").editableList({
scrollOnAdd: false
});
类型: 函数
一个回调函数,用于比较列表中的两个项目以确定它们的顺序。
itemDataA - 一个数据项itemDataB - 一个数据项如果函数返回值小于0,itemDataA将排在itemDataB之前。
如果函数返回0,则项目保持不变。
如果函数返回值大于0,itemDataA将排在itemDataB之后。
$("ol.list").editableList({
sort: function(dataA, dataB) {
return dataA.index-dataB.index;
}
});
类型: 布尔值|CSS选择器
确定列表项是否可以通过拖动来排序。
如果设置为true(布尔值),将在项目旁边显示默认的拖拽手柄。
如果设置为CSS选择器,则用于标识应在项目内容元素内用作拖拽手柄的元素。
$("ol.list").editableList({
sortable: true
});
类型: 函数
当列表中的某个项目被移动后调用的函数。
items - 一个按顺序排列的jQuery DOM元素数组,每个元素代表一行。每一行元素将项目的原始数据存储在名为data的属性下。
$("ol.list").editableList({
sortItems: function(items) {
console.log("The items have changed order")
}
});
类型: 布尔值
如果设置为true,每一行右侧会显示一个删除按钮。
点击该按钮将从列表中移除该行,并触发(如果已设置)
removeItem回调函数。
$("ol.list").editableList({
removable: true
});
类型: 函数
当从列表中移除一个项目时调用的函数。
data - 该项对应的原始数据条目移除操作可以通过点击项目的移除按钮触发,或者调用remoteItem方法来实现。
$("ol.list").editableList({
removeItem: function(data) {
console.log("An item has been removed")
}
});
将一项添加到列表末尾。itemData是与列表中该项关联的对象。
$("ol.list").editableList('addItem',{fruit:"banana"});
将数组中包含的项添加到列表末尾。itemData是一个对象数组,将与列表中的项相关联。
$("ol.list").editableList('addItems',[{fruit:"banana"},{fruit:"apple"},{fruit:"pear"}]);
从列表中移除一个项目。itemData是用于标识待移除项目的对象。
$("ol.list").editableList('removeItem',{fruit:"banana"});
设置editableList的宽度。必须使用此方法替代标准的jQuery.width()函数,以确保组件能正确调整大小。
$("ol.input").editableList('width', '200px');
设置editableList的高度。必须使用此方法替代标准的jQuery.height()函数,以确保组件能正确调整大小。
$("ol.input").editableList('height', '200px');
类型:数组
获取所有列表项的数组。每个项都是对应项的jQuery DOM元素。
每个元素将项目的原始数据存储在名为data的属性下。
var items = $("ol.list").editableList('items');
清除所有项目的列表。这不会触发任何回调。
$("ol.list").editableList('empty');
类型: 数字
根据当前筛选函数过滤列表以显示/隐藏项目,并返回可见项目的数量。
有关过滤函数的详细信息,请参见filter。
如果未提供filter,则使用当前活动的过滤函数对列表进行过滤。
如果filter为null,则移除该过滤器。
var filteredCount = $("ol.list").editableList('filter',function(data) {
return data.index%2 === 0
});
自 0.20.0 版本起
滚动列表以确保特定项在可视范围内。
$("ol.list").editableList('show', item);
使用当前排序函数对列表进行排序。
一个回调函数,用于比较列表中的两个项目以确定它们的顺序。
itemDataA - 一个数据项itemDataB - 一个数据项有关排序函数的详细信息,请参见sort。
如果未提供sort参数,列表将使用当前活动的排序函数进行排序。
$("ol.list").editableList('sort', function(dataA, dataB) {
return dataA.index-dataB.index;
});
类型: 数字
获取列表项的数量。
var length = $("ol.list").editableList('length');
自3.1.0版本起
取消列表上的项目排序操作。
$("ol.list").editableList('cancel');
Node-RED: 面向事件驱动应用的低代码编程平台。
版权所有 OpenJS基金会 及 Node-RED 贡献者。保留所有权利。OpenJS基金会 拥有注册商标并使用商标。有关 OpenJS基金会 的商标列表,请参阅我们的 商标政策 和 商标列表。未在 OpenJS基金会商标列表 中标注的商标™或注册®商标归其各自持有人所有。使用这些商标并不意味着与它们有任何关联或获得其认可。
The OpenJS Foundation | 使用条款 | 隐私政策 | OpenJS基金会章程 | 商标政策 | 商标列表 | Cookie政策