clientHeight/Width представления платформы Flutter всегда 0

При попытке добавить стороннюю js-библиотеку в веб-приложение Flutter я столкнулся с проблемой clientHeightа также clientWidthхарактеристики:

я добавил DivElementвнутри моего дерева виджетов с помощью:

       @override
  void initState() {
    super.initState();

    divElement = DivElement()
      ..id = 'viewer_div'
      ..style.width = '100vh'
      ..style.height = '100vh'
      ..style.border = '1px solid green';

    // ignore: UNDEFINED_PREFIXED_NAME
    ui.platformViewRegistry.registerViewFactory(
        'viewer', (int viewId) => dicomElement);
  }

  @override
  Widget build(BuildContext context) {
    return Container(
      width: 512, height: 512,
      color: Colors.transparent,
      child: const HtmlElementView(viewType: 'viewer'),
    );
  }

Используется сторонней библиотекой js, которая добавляет canvasЭлемент DOM как дочерний элемент div. Но сторонняя библиотека также устанавливает размер холста в соответствии с divElement clientWidth и clientHeight И эти значения всегда возвращают 0, поэтому окончательная ширина и высота холста устанавливаются равными 0!

Я попытался вызвать метод javascript, который добавляет холст после рендеринга первого кадра, но он ничего не меняет.

0 ответов

Другие вопросы по тегам