Я пытаюсь создать интерактивный поисковый пользовательский интерфейс внутри Obsidian, используя плагин DataView - специально DataViewJS. Попытка: < /p>
const container = dv.el("div");
const input = container.createEl("input", { type: "text", placeholder: "Search..." });
const results = container.createEl("div");
function render(query) {
results.innerHTML = "";
const pages = dv.pages().where(p => p.title.includes(query));
for (let p of pages) {
results.createEl("div", { text: p.file.name });
}
}
input.addEventListener("input", (e) => {
render(e.target.value);
});
< /code>
Входная окно правильно отображается, но вызов dv.pages () кажется статичным-он не динамически переоценивает запрос на изменения ввода. DV.Pages () Вызов в функции, чтобы запустить повторный рендеринг < /li>
манипулирование DOM непосредственно с использованием Createel < /li>
< /ul>
Мои вопросы: < /p>
Это возможно повторно заполнить запрос DataViewjs, когда пользовательский ввод изменений? Принудив переоценку или вызов DataViewapi вручную?>
Подробнее здесь: https://stackoverflow.com/questions/797 ... n-obsidian