首页 > 其他分享 >抽象节点

抽象节点

时间:2024-12-24 09:31:00浏览次数:3  
标签:checkbox custom 抽象 组件 selectable 节点

抽象节点

这个特性自小程序基础库版本 1.9.6 开始支持。

在组件中使用抽象节点

有时,自定义组件模板中的一些节点,其对应的自定义组件不是由自定义组件本身确定的,而是自定义组件的调用者确定的。这时可以把这个节点声明为“抽象节点”。

例如,我们现在来实现一个“选框组”(selectable-group)组件,它其中可以放置单选框(custom-radio)或者复选框(custom-checkbox)。这个组件的 wxml 可以这样编写:

代码示例:

在开发者工具中预览效果

<!-- selectable-group.wxml -->
<view wx:for="{{labels}}">
  <label>
    <selectable disabled="{{false}}"></selectable>
    {{item}}
  </label>
</view>

其中,“selectable”不是任何在 json 文件的 usingComponents 字段中声明的组件,而是一个抽象节点。它需要在 componentGenerics 字段中声明:

{
  "componentGenerics": {
    "selectable": true
  }
}

使用包含抽象节点的组件

在使用 selectable-group 组件时,必须指定“selectable”具体是哪个组件:

<selectable-group generic:selectable="custom-radio" />

这样,在生成这个 selectable-group 组件的实例时,“selectable”节点会生成“custom-radio”组件实例。类似地,如果这样使用:

<selectable-group generic:selectable="custom-checkbox" />

“selectable”节点则会生成“custom-checkbox”组件实例。

注意:上述的 custom-radiocustom-checkbox 需要包含在这个 wxml 对应 json 文件的 usingComponents 定义段中。

{
  "usingComponents": {
    "custom-radio": "path/to/custom/radio",
    "custom-checkbox": "path/to/custom/checkbox"
  }
}

抽象节点的默认组件

抽象节点可以指定一个默认组件,当具体组件未被指定时,将创建默认组件的实例。默认组件可以在 componentGenerics 字段中指定:

{
  "componentGenerics": {
    "selectable": {
      "default": "path/to/default/component"
    }
  }
}

注意事项

  • 节点的 generic 引用 generic:xxx="yyy" 中,值 yyy 只能是静态值,不能包含数据绑定。因而抽象节点特性并不适用于动态决定节点名的场景。

标签:checkbox,custom,抽象,组件,selectable,节点
From: https://www.cnblogs.com/AtlasLapetos/p/18623889

相关文章

  • LeetCode:222.完全二叉树节点的数量
    跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的!代码随想录LeetCode:222.完全二叉树节点的数量给你一棵完全二叉树的根节点root,求出该树的节点个数。完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节......
  • 使用 C# WinForms 中使用 DevExpress TreeList 实现科室节点的增删改功能
    引言在医院管理系统中,科室管理是一个非常重要的模块。通过使用DevExpress的TreeList控件,我们可以方便地以树形结构展示科室信息,并实现对科室节点的增删改操作。本文将详细介绍如何在C#WinForms项目中使用DevExpressTreeList控件来构建一个完整的科室管理系统。完......
  • 【Elasticsearch】节点与集群:架构原理与优化实践
    ......
  • Slate文档编辑器-TS类型扩展与节点类型检查
    Slate文档编辑器-TS类型扩展与节点类型检查在之前我们基于slate实现的文档编辑器探讨了WrapNode数据结构与操作变换,主要是对于嵌套类型的数据结构类型需要关注的Normalize与Transformers,那么接下来我们更专注于文档编辑器的数据结构设计,聊聊基于slate实现的文档编辑器类型系统。......
  • 两两交换链表中的节点(迭代)
    给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即只能进行节点交换)。 示例1:输入:head=[1,2,3,4]输出:[2,1,4,3]示例2:输入:head=[]输出:[]示例3:输入:head=[1]输出:[1] /***Definitionforsing......
  • MATLAB图卷积神经网络GCN处理分子数据集节点分类研究
    全文链接:https://tecdat.cn/?p=38570本文主要探讨了如何利用图卷积网络(GCN)对图中的节点进行分类。介绍了相关的数据处理、模型构建、训练及测试等环节,通过对分子数据集的操作实践,展示了完整的节点分类流程,并对模型的效果进行了多方面评估,旨在为相关领域的研究与应用提供参考。图......
  • C++的interface与抽象类
    提示:文章文章目录前言一、背景二、C++的interface与抽象类c++有interface关键词吗?c++抽象类有abstract关键词吗?所以c++抽象类和abstract没有关系。那什么是抽象类?题目1题目2什么是抽象函数?抽象函数和纯虚函数的区别?纯虚函数和虚函数的区别三、extends和implements2.......
  • 如何实现跨境设备操作?ToDesk远程控制加持全球节点轻松搞定
    随着近年来国际化水平的逐步提高,跨境的学习、交流、工作、旅行等已愈发常见。然而虽然交通出行也算方便,但针对频繁两地往来、海内外人员协助互动等,从省时、省力、省财力精力等成本方面考量,通过来回往返来解决却并非是一个最佳选项。那么,面向例如外资企业远程协助境外同事处理任务......
  • Gitlab runner持续集成CI/CD怎么设置标签指定Runner节点执行
    搭建Runner参考:https://www.cnblogs.com/minseo/p/18472436需求:未打标签的.gitlab-ci使用默认runner打标签的.gitlab-ci使用指定的runner环境查看系统环境#cat/etc/redhat-releaseRockyLinuxrelease9.3(BlueOnyx)#uname-aLinuxRocky9StoneCrm0030805.1......
  • 前端必知必会-JavaScript HTML DOM 节点列表
    文章目录JavaScriptHTMLDOM节点列表HTMLDOMNodeList对象HTMLDOM节点列表长度HTMLCollection和NodeList之间的区别总结JavaScriptHTMLDOM节点列表HTMLDOMNodeList对象NodeList对象是从文档中提取的节点列表(集合)。NodeList对象与HTMLCollectio......