d3.js - 如何使用 D3.js 删除功能删除项目
问题描述
当我尝试使用以下代码删除一个元素时,我的所有元素都设置为“已更新”,但没有一个被删除。将新项目添加到名为“clients”的列表中可以正常工作,但不能删除。我究竟做错了什么?这是我的代码笔的链接。
let container = d3.select("#container");
let clients = [{ Name: "Client0"
}];
let count = 1;
function addNewClient() {
clients.push({Name: "Client" + count });
count += 1;
showData(clients);
}
function removeClient() {
client = clients.slice(0,-1);
count -= 1;
showData(clients);
}
d3.csv(clients).then(showData);
function showData(data) {
// join the data with all the yet to be created div tags
let join = container
.selectAll("div")
.data(clients);
// remove from screen those elements that do not have an associated data point
join.exit().remove();
// for each data point append a div
join.enter()
.append("div")
.text(d => d.Name + " - New");
join.text(d => d.Name + ": Updated");
}
showData(clients);
function write(text) {
container.append("div").text(text);
}
解决方案
推荐阅读
- firebase - 提交动作需要做什么?
- sbt - sbt 删除其他scala版本的classes文件夹下的资源
- emacs - emacs org-mode 导出到 iCalendar 格式问题
- java - 检查类中的字符串是否为空
- ios - 以编程方式创建的 UIElement 的 id 是否自动生成?
- log4j - 我的要求是我希望我的应用程序在达到限制和最大备份索引后创建新文件?我正在使用 log4j
- shell - perl中超时的实现
- sql-server - MSSQL ColumnStore 索引 - 常规索引的使用
- azure - 列出 Azure 策略“允许的虚拟机 SKU”的可用 VM SKU
- php - 带有 plugins_url 的 require_once wordpress 错误