javascript - How to implement multiselect in Vue -
i trying mimic spreadsheet feature can select multiple table cells pressing shift + mouseover, , having trouble getting select nearby cells fall within start , end range of selection. example, 3x3 grid, cell 0,0 start cell, when mouseover 0,1, , 1,1 1,0 should selected falls within range. here logic have far, selects cells mouse passes on (non of adjacent cells selected).
here code:
selectcell (row, col) { this.coors.push({x: row, y: col}) let len = this.coors.length - 1 this.start = {x: this.coors[0].x, y: this.coors[0].y} this.end = {x: this.coors[len].x, y: this.coors[len].y} this.grid[row].splice(col, 1, 2) this.iterateovergrid(2) }, iterateovergrid (col) { (let = this.start.x; <= this.end.x; i++) { this.grid[i].splice(this.end.y, 1, col) (let j = this.start.y; j <= this.end.y; j++) { this.grid[i].splice(this.end.y, 1, col) } } }, start holds x , y position of first cell selected; end holds x , y position of last cell selected. idea iterate on each row , column in grid (which attempting in iterateovergrid() method) , assign value of 2 each cell falls within start end parameter. how can achieve this?
Comments
Post a Comment