Radios单选组组件

radios组件是多个radio单选表单域的合集,支持批量设置attributes属性,支持reset、set、clear等基本的操作方法

数据写在标签内

构建多单选组件,核心是获得每一个单选组件的数据,该数据包含了单个单选组件的labelvaluedisabledchecked值。数据可以以为本形式写在标签内,也可以写在content属性上。

由于数据不是简单的几个文字,所以可以使用content属性引用数据变量。

  • 输出
  • HTML
  • [ {label:'军事类',value:'军事类',disabled:false,checked:true}, {label:'人物志类',value:'人物志类',disabled:false,checked:false}, {label:'娱乐类',value:'娱乐类',disabled:false,checked:false} ]
  •                 
                    
                

如果确定labelvalue是一致,可以使用简化的数据格式。

  • 输出
  • HTML
  • ['军事类','人物志类','娱乐类']
  •                 
                    
                

数据写在属性上

构建多单选组件,也可以写在content属性上。如果数据比较大,可以使用content属性引用数据变量。

  • 输出
  • HTML
  •                 
                    
                

提前定义好变量的前提下,content属性引用变量。

  • 输出
  • HTML
  •                 
                    
                

使用script标签

如果将数组以文本的形式写入标签内,可能不方便编辑,那么可以添加一个script标签并对标签使用type=content属性,将数据以json的形式写入script标签内,这样子方便格式化数据,也方便编辑。

注意,普通的script标签会被执行,但是给该标签添加了一个不被识别的type类型(我们使用content)则该标签则不会被执行。

  • 输出
  • HTML
  •                 
                    
                

最简单的数据格式

最简单的数据写法是将选项label文本直接写入content属性当中或节点当中,多个选项用英文逗号,隔开。

  • 输出
  • HTML
  • 军事类,人物志类,娱乐类
  •                 
                    
                

checked属性

checked属性是指让那个单选组件处于checked状态,因为是单选组,该属性只允许填一个值,该值是某个单选组件的value文本(如果数据是简写方式,label=value)。

  • 输出
  • HTML
  • [ {label:'军事类',value:'Military',disabled:false,checked:false}, {label:'人物志类',value:'People',disabled:false,checked:false}, {label:'娱乐类',value:'Entertainment',disabled:false,checked:false} ]
  •                 
                    
                

disable属性

disable属性是指让哪些单选组件处于disabled状态,可以填一个值也可以填多个值(是value值而非label值),格式如下:

  1. 单值文本,例如:disable='军事类'
  2. 单值数组,例如:disable="['军事类']"
  3. 多值文本,多值用英文逗号隔开,例如:disable='军事类,人物志类'
  4. 多值文本数组,多值用英文逗号隔开,例如:disable="['军事类','人物志类']"
  • 输出
  • HTML
  • [ {label:'军事类',value:'Military',disabled:true,checked:true}, {label:'人物志类',value:'People',disabled:false,checked:false}, {label:'娱乐类',value:'Entertainment',disabled:false,checked:false}, {label:'财经类',value:'Finance',disabled:false,checked:false} ]
  •                 
                    
                

type属性

该属性可以设置单选组件的风格类型,因为是单选组件,该属性可选值有:cheratextbtn

  • 输出
  • HTML
  •                 
                    
                

type=btn将表现为一个按钮,与普通按钮尺寸一致。

  • 输出
  • HTML
  •                 
                    
                

type=text将表现为一个文本段落,用来制作文字较多的选项。

  • 输出
  • HTML
  • [ '中国,是以华夏文明为源泉、中华文化为基础,并以汉族为主体民族的多民族国家', '通用汉语、汉字,汉族与少数民族被统称为“中华民族”,又自称为炎黄子孙、龙的传人。', '中国是世界四大文明古国之一,有着悠久的历史', '以中原地区为中心开始出现聚落组织进而形成国家,后历经多次民族交融和朝代更迭,直至形成多民族国家的大一统局面。' ]
  •                 
                    
                

Attributes属性

属性名 可选值 默认值 说明
name - - 表单字段名称
content - - 数据源
checked - - 预设选中项
size 'sm'/'md'/'lg' 'md' 尺寸规格
disable - - 禁用项配置
type 'chera'/'switch'/'btn'/'text' - 显示变体类型
layout 'grid'/'flex'/'block' 'block' 布局方式
cols - 4 网格布局列数
wrap-classes - - 外层容器样式类
item-classes - - 单项元素样式类
input-classes - - 内部表单字段样式类

Methods方法

有组件通用的内置方法:

  • set:设置组件属性,支持一个参数即被设置的属性值键值对{key,value}或其数组
  • reset:重置组件属性,无参数
  • clear:清除属性和值,无参数

基本用法:CompElem.reset();

Events事件

有组件通用的事件:

  • connected:组件连接成功,无参数
  • disconnected:组件断开连接,无参数
  • adopted:组件被转移,无参数
  • set:设置了属性,支持一个参数即设置的值
  • cleared:清除了属性,无参数
  • reset:重置了属性,无参数

基本用法:CompElem.on('connected',()=>{console.log('connected')});