Как должен выглядеть параметр value при программном запуске сигнала в Vega?
На одном из слоев моего представления у меня есть
"params": [
{
"name": "selectedFeature",
"select": {
"type": "point",
"fields": ["order"]
}
}
я использую
vega-embed
и добавил слушателя сигнала.
vegaInstance.view.addSignalListener('selectedFeature', async function (signalName, e) {
console.debug(signalName, JSON.stringify(e))
// Returns e.g.
// selectedFeature {"order":[2],"vlPoint":{"or":[{"order":2}]}}
}
Это нормально работает. Но я хотел бы также активировать сигнал извне диаграммы (без привязки его к элементу), как это объясняется в документации View API.
Я пробовал такие вещи, как
vegaInstance.view.signal('selectedFeature', {order: 2})
а также
vegaInstance.view.signal('selectedFeature', {
order: [2],
vlPoint: {
or: [{
order: 2
}]
}
});
но не повезло. Журнал отладочных сообщений распечатывается
selectedFeature {}
имея в виду сигнал
name
подбирается, но не его. Какой формат должен
value
быть?
2 ответа
Я решил ту же проблему, обновив выделение с помощью vegaInstance.view.signal ('selectedFeature**_ tuple **', {...}) вместо vegaInstance.view.signal('selectedFeature', {...}). Получил это отсюда
Я решил это, добавив скрытое поле ввода и привязав параметр к этому полю ввода. Затем я инициирую событие ввода в этом поле ввода.