allowCustomElement 方法

void allowCustomElement(
  1. String tagName,
  2. {UriPolicy? uriPolicy,
  3. Iterable<String>? attributes,
  4. Iterable<String>? uriAttributes}
)

允许具有指定标签名称和指定属性的自定义元素。

这将允许这些元素作为自定义标签使用(例如),但不会允许标签扩展。使用 allowTagExtension 允许标签扩展。

实现

void allowCustomElement(String tagName,
    {UriPolicy? uriPolicy,
    Iterable<String>? attributes,
    Iterable<String>? uriAttributes}) {
  var tagNameUpper = tagName.toUpperCase();
  var attrs = attributes
      ?.map<String>((name) => '$tagNameUpper::${name.toLowerCase()}');
  var uriAttrs = uriAttributes
      ?.map<String>((name) => '$tagNameUpper::${name.toLowerCase()}');
  if (uriPolicy == null) {
    uriPolicy = new UriPolicy();
  }

  add(new _CustomElementNodeValidator(
      uriPolicy, [tagNameUpper], attrs, uriAttrs, false, true));
}