在浏览器上呈现的反映虚拟化列表不会缩小

时间:2017-07-17 17:56:43

标签: javascript reactjs accordion react-virtualized

所以这有点奇怪。

我有一个手风琴,每个面板都包含一个反应虚拟化列表。一切都很完美......问题是:

  • 如果一个面板打开......
  • 浏览器已缩小...
  • 打开另一个小组......

列表无法呈现......

当window.devicePixelRatio的值小于1时,似乎会发生这种情况。在调试到react-virtualized时,由于Grid.js中第903行的检查失败,Grid中的childrenToDisplay似乎是空的: //仅渲染足够的列和行以覆盖网格的可见区域。

class Vehicle {
public:
    virtual void printVehicle() = 0;
    static Vehicle* Create(VehicleType type);
};
class TwoWheeler : public Vehicle {
public:
    void printVehicle() {
        cout << "I am two wheeler" << endl;
    }
    void Some2WheelerONLYSpecificOPeration()
    {

    }
};
class ThreeWheeler : public Vehicle {
public:
    void printVehicle() {
        cout << "I am three wheeler" << endl;
    }
void Some3WheelerONLYSpecificOPeration()
    {

    }
};
class FourWheeler : public Vehicle {
    public:
    void printVehicle() {
        cout << "I am four wheeler" << endl;
    }
void Some4WheelerONLYSpecificOPeration()
    {

    }
};

// Factory method to create objects of different types.
// Change is required only in this function to create a new object type
Vehicle* Vehicle::Create(VehicleType type) {
    if (type == VT_TwoWheeler)
        return new TwoWheeler();
    else if (type == VT_ThreeWheeler)
        return new ThreeWheeler();
    else if (type == VT_FourWheeler)
        return new FourWheeler();
    else return NULL;
}

int main()
{
Vehicle* basePtr =   Vehicle::Create(VT_TwoWheeler);
basePtr->Some2WheelerONLYSpecificOPeration();   //HOW TO ACHIEVE THIS CALL

basePtr =   Vehicle::Create(VT_ThreeWheeler);
basePtr->Some3WheelerONLYSpecificOPeration(); //HOW TO ACHIEVE THIS CALL

basePtr =   Vehicle::Create(VT_FourWheeler);
basePtr->Some4WheelerONLYSpecificOPeration(); // //HOW TO ACHIEVE THIS CALL
}

可能是由于devicePixelRatio较低,一些初始像素值(可能设置为1px?)变为0px。

有什么想法吗?

0 个答案:

没有答案