递归存储 parent 个节点的标题直到根
Recursively store parent nodes' titles up to root
我有一个 table 看起来像这样:。
因此,任何不是文件夹的条目都有对应的输入标签。现在我正在为 renderColumn
方法中的输入设置 name
属性,如下所示:
const node = data.node;
const $tdList = $(node.tr).find('>td');
if (node.isFolder()) {
$tdList.eq(1).empty();
} else {
const $input = $tdList.eq(1).find('input');
$input.attr('name', `${node.parent.title}_${node.title}`);
$input.attr('value', node.data.value);
}
但它所做的只是有效地存储 parent 的标题。有什么办法可以递归地将所有 parent 的标题存储到根目录中,例如,在 version
列中我有 input[name="categoryCell__version"]
,然后在 backgroundColor
中— categoryCell_configuration_backgroundColor
,等等?
你可以递归地做。
function buildTitle(node) {
if (node.parent.className !== 'alex-node`) { // just an example, change the condition to something else
return '';
} else {
return buildTitle(node.parent) + node.parent.title + '__';
}
}
(你需要 trim 下划线,但这很简单)
我有一个 table 看起来像这样:
因此,任何不是文件夹的条目都有对应的输入标签。现在我正在为 renderColumn
方法中的输入设置 name
属性,如下所示:
const node = data.node;
const $tdList = $(node.tr).find('>td');
if (node.isFolder()) {
$tdList.eq(1).empty();
} else {
const $input = $tdList.eq(1).find('input');
$input.attr('name', `${node.parent.title}_${node.title}`);
$input.attr('value', node.data.value);
}
但它所做的只是有效地存储 parent 的标题。有什么办法可以递归地将所有 parent 的标题存储到根目录中,例如,在 version
列中我有 input[name="categoryCell__version"]
,然后在 backgroundColor
中— categoryCell_configuration_backgroundColor
,等等?
你可以递归地做。
function buildTitle(node) {
if (node.parent.className !== 'alex-node`) { // just an example, change the condition to something else
return '';
} else {
return buildTitle(node.parent) + node.parent.title + '__';
}
}
(你需要 trim 下划线,但这很简单)