join - d3.js 使用 selection.join 链接多个转换
问题描述
我正在从通用更新模式到新的(呃)数据连接进行一些重构。我有一些异步转换链接需求,所以到目前为止我的代码看起来像这样:
const transitions = [];
svg
.selectAll('g')
.data(someData)
.join(
(enter) => {
const gEnter = enter.append('g');
gEnter.append('rect'); // I also have multiple adjacent elements I need to append
return gEnter;
},
(update) => {
const t1 = update
.transition()
.attr(...);
const t2 = update
.select('rect')
.transition()
.attr(...);
transitions.push(t1.end(), t2.end());
return t1; // ??? I know I need a materialized selection here, but which one?
}
);
return Promise.all(transitions);
此代码有效!问题是,我希望更新转换与 enter 合并。在此示例中,更新转换不会在输入时运行。关于我如何做到这一点的任何想法?
到目前为止,受此答案启发的工作