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));
}