可以在dataview的结果中直观展示子列表么。像展示子任务那样。
遇到的问题
我在使用dataview汇总列表的时候发现子列表也会提取出来作为并列列表展示。但是在提取任务的时候就会把子任务正确展示。有什么办法让子列表和子任务的展示形式一样呢?
预期的效果
希望可以像截图这样可以直观展示出子列表的感觉,现在的dataview结果是并列的。
已尝试的解决方案
我现在只能单纯的列出这两个列表。我知道list有children这个属性,但是怎么运用不太清楚
可以在dataview的结果中直观展示子列表么。像展示子任务那样。
我在使用dataview汇总列表的时候发现子列表也会提取出来作为并列列表展示。但是在提取任务的时候就会把子任务正确展示。有什么办法让子列表和子任务的展示形式一样呢?
希望可以像截图这样可以直观展示出子列表的感觉,现在的dataview结果是并列的。
我现在只能单纯的列出这两个列表。我知道list有children这个属性,但是怎么运用不太清楚
我在国外论坛找到了一个方法,但是这个方法说有一定的“风险“,是什么风险呢?然后目前这个代码的限制是在于,这里出现的任务是没有互动功能的,是单纯的展示。
代码如下
const dvF = dv.evaluationContext.functions
// Create a new DQL function
dvF.listChildren = (ctx, children, offset = "" ) => {
let result = ""
for (const child of children) {
result += offset + "- " +
(child.task ? `[${ child.status ?? " "}] ` : "" ) +
child.text + "\n"
if (child.children.length)
result += dvF.listChildren(ctx, child.children, offset + " ")
}
return result
}
LIST WITHOUT ID item.text + "\n" + listChildren(item.children)
WHERE file.lists AND file.name != "ForumGold"
LIMIT 5
FLATTEN file.lists as item
WHERE !item.parent
感谢,task这个我知道,目前上门那个list方案没办法的话我就曲线用task形式了。