Canvas {
id: canvas
onPaint: {
if (personalInfo.count === 0) {
return
}
var ctx = canvas.getContext("2d");
ctx.globalCompositeOperation = "source-over";
var points = []
for (var i = 0; i < personalInfoModel.dataCount(); i++) {
var temp = personalInfoModel.get(i)
points.push({
date: temp.date,
heartRate: temp.heartRate,
temprature: temp.temprature,
pressure: temp.bloodPressure
}
)
}
drawAxis(ctx)
drawGridLineAndUnitNum(ctx, chart.activeChart, points, "x", 15);
}
}
我有两个按钮。如果点击按钮A
,则将chart.activeChart
设置为7
并在cavas.requestPaint()
上呼叫A::onClicked
,在cavas.drawGridLineAndUnitNum
上绘制七条垂直线。如果点击按钮B
除了设置chart.activeChart
到30
,则全部与A::onClicked
相同。我希望当点击A
时,画布会擦除绘制的行,点击B
的产品,反之亦然。但实际上,它总是在上次保留线条抽奖。
答案 0 :(得分:2)
与特定Canvas
相关联的Context2D
提供了两个有用的功能:
在大多数情况下,只需填写背景色,即使用fillRect
,就可以“清除”white
。这是StocQt example的方法,它具有transparent
背景。
但是,如果背景为Canvas
,则填充不会删除其他笔划,因此不更有意义。在这种情况下,清除clearRect
的唯一可能方法是删除所有笔划,即使用clearRect
。
我使用透明背景,因此 public function countryLookupApiCall() {
if (isset($_POST['action']) && isset($_POST['country'])) {
$country = $_POST['country'];
$apiKey = $this->getApiKey();
$url = $this->url . $country . '/callCharges?apiKey=' . $apiKey . '&response=JSON';
$response = wp_remote_get($url);
if (is_wp_error($response)) {
$error_code = $response->get_error_code();
$error_message = $response->get_error_message();
$error_data = $response->get_error_data($error_code);
// Process the error here....
}
echo $response;
die();
}
}
是我的选择。