小编0xC*_*AF2的帖子

DependOnInheritedWidgetOfExactType() 返回 null

我试图将我的财产发送InheritedWidget给它的孩子。

class Detector extends InheritedWidget {
  final bool isEditable;

  Detector({@required this.isEditable, @required Widget child, Key key})
      : super(child: child, key: key);

  static Detector of(BuildContext context) {
    return context.dependOnInheritedWidgetOfExactType<Detector>();
  }

  @override
  bool updateShouldNotify(Detector oldWidget) {
    return oldWidget.isEditable != isEditable;
  }
}
Run Code Online (Sandbox Code Playgroud)

我在这里提到的。小部件由以下人员创建:

Detector(
  isEditable: otherObj.isEditable,
  child: command.makeWidget(context) // Extension method that returns new widget
);
Run Code Online (Sandbox Code Playgroud)

makeWidget()方法调用of方法:

   final detector = Detector.of(context);
    if (detector != null && detector.isEditable) {
      return Container(
        child: ...,
      );
    }
Run Code Online (Sandbox Code Playgroud)

总是返回空值。为什么 …

dart flutter

9
推荐指数
1
解决办法
4854
查看次数

使用 open-wc 测试 Lit 元素时如何访问 ShadowDom

Lit 文档将 Web Test Runner 称为测试。它导航到此示例页面

我尝试过测试MyElement,结果只有一个<p>

import { LitElement, html } from "lit";
import { customElement } from "lit/decorators.js";

@customElement("my-element")
export class MyElement extends LitElement {
  render() {
    return html`<p>Hello, World.</p>`;
  }
}

declare global {
  interface HTMLElementTagNameMap {
    "my-element": MyElement;
  }
}
Run Code Online (Sandbox Code Playgroud)

通过 open-wc 测试时,该元素shadowDom没有<p>in descendant

import { expect, fixture, html } from "@open-wc/testing";
import { MyElement } from "../src/MyElement";

it("get shadowDom", async () => { …
Run Code Online (Sandbox Code Playgroud)

testing lit

2
推荐指数
1
解决办法
1219
查看次数

标签 统计

dart ×1

flutter ×1

lit ×1

testing ×1