setInnerHtml 方法

void setInnerHtml(
  1. String? html, {
  2. NodeValidator? validator,
  3. NodeTreeSanitizer? treeSanitizer,
})

解析 HTML 片段并将其设置为该元素的 内容。这确保生成的内容遵循由验证器或 treeSanitizer 指定的清理规则。

如果默认的验证行为过于严格,则应创建一个新的 NodeValidator,要么扩展或包装默认验证器并覆盖验证 API。

treeSanitizer 用于遍历生成的节点树并进行清理。也可以提供自定义的 treeSanitizer 来执行特殊的验证规则,但由于 API 实现较为复杂,因此不推荐这样做。

生成的树保证只包含由提供的验证器允许的节点和属性。

另请参阅

实现

void setInnerHtml(String? html,
    {NodeValidator? validator, NodeTreeSanitizer? treeSanitizer}) {
  text = null;
  if (treeSanitizer is _TrustedHtmlTreeSanitizer) {
    _innerHtml = html;
  } else {
    append(createFragment(html,
        validator: validator, treeSanitizer: treeSanitizer));
  }
}