[Chartjs]-React input to filter to chart. How convert a hardcoded number into a variable?

1πŸ‘

βœ…

In your filterChart method you just need to accept a parameter that the inputted number is. Then you can filter against it like so:

const textChangeHandler = (i) => {
  setEnteredText(i.target.value);
  console.log("target.value", i.target.value);
  filterChart(Number(i.target.value)); // Call filter after entering value
};

const filterChart = (filterVal = Number.MIN_SAFE_INTEGER) => { // Expect value to filter against, default to lowest safe integer to show all data
  const filterData = myChart.data.datasets[0].data.filter(value => value > filterVal) // Filter against value
  console.log("filterData y", filterData)
  const filterLabels = [];
  const filterColors = [];
  let i = 0;
  for (i; i < filterData.length; i++) {
    const result = myChart.data.datasets[0].data.indexOf(filterData[i]);
    data.datasets[0].data.indexOf(filterData[i]);
    const labelsresult = myChart.data.labels[result];
    const colorsresult = myChart.data.datasets[0].backgroundColor[result]
    filterLabels.push(labelsresult);
    filterColors.push(colorsresult);
  }
  myChart.data.datasets[0].data = filterData;
  myChart.data.labels = filterLabels;
  myChart.data.datasets[0].backgroundColor = filterColors;
}

Also if you are using react-chartjs you dont need to make a chart object yourself, you are only wasting memory usage with that

Leave a comment