自定义组件用法

1.树组件的用法

1.1.示例

<v-tree url="/item/category/list"
        :isEdit="true"
        @handleAdd="handleAdd"
        @handleEdit="handleEdit"
        @handleDelete="handleDelete"
        @handleClick="handleClick"
/>

效果:

在这里插入图片描述

1.2.属性列表:

属性名称说明数据类型默认值
url用来加载数据的地址,即延迟加载String-
isEdit是否开启树的编辑功能booleanfalse
treeData整颗树数据,这样就不用远程加载了Array-

这里推荐使用url进行延迟加载,每当点击父节点时,就会发起请求,根据父节点id查询子节点信息

当有treeData属性时,就不会触发url加载

远程请求返回的结果格式:

[
    { 
        "id": 74,
        "name": "手机",
        "parentId": 0,
        "isParent": true,
        "sort": 2
	},
     { 
        "id": 75,
        "name": "家用电器",
        "parentId": 0,
        "isParent": true,
        "sort": 3
	}
]

1.3.事件:

事件名称说明回调参数
handleAdd新增节点时触发,isEdit为true时有效新增节点node对象,包含属性:name、parentId和sort
handleEdit当某个节点被编辑后触发,isEdit为true时有效被编辑节点的id和name
handleDelete当删除节点时触发,isEdit为true时有效被删除节点的id
handleClick点击某节点时触发被点击节点的node对象,包含全部信息

1.4.完整node的信息

回调函数中返回完整的node节点会包含以下数据:

{
    "id": 76, // 节点id
    "name": "手机", // 节点名称
    "parentId": 75, // 父节点id
    "isParent": false, // 是否是父节点
    "sort": 1, // 顺序
    "path": ["手机", "手机通讯", "手机"] // 所有父节点的名称数组
}

2.级联选择组件

2.1.示例:

    <v-cascader 
      url="/item/category/list" 
      multiple required    
      v-model="brand.categories" 
      label="请选择商品分类"/>

2.2.效果:

在这里插入图片描述

2.3.结果值

v-model绑定的数据结果:

在这里插入图片描述

2.4.属性列表:

属性名称说明数据类型默认值
url延迟加载数据的地址 [{id,name},{}]String
itemText每个选项中用来显示的字段名称Stringname
itemValue每个选项中用来作为值的字段名称Stringid
children子选项数组在父选项中的字段名称Stringchildren
multiple是否允许多选booleanfalse
showAllLevels是否将级联的每级选项都作为结果展示。当multiple值为true时,这个值无效,即只会显示最后一级选项的结果booleanfalse
required是否是必填项,如果是,会在文本提示后加*booleanfalse
rules自定义校验规则Array
value选择框的结果,可以通过v-model进行双向绑定Array
label提示用户的文字说明String

2.5.说明:

无论是单选还是多选,value的结果格式始终是一个数组。单选时数组的长度始终为1。

数组中的对象结构为:

{
    {itemValue}:'', // 属性名取决于itemValue的值,默认是id
    {itemText}:''// 属性名取决于itemText的值,默认是name
}

3.文件上传组件

3.1.示例:

3.1.1.单图片上传:

        <v-upload
          v-model="brand.image" 
          url="/item/upload" 
          :multiple="false" 
          :pic-width="150" 
          :pic-height="150"
        />

上传前:

在这里插入图片描述

上传后:

在这里插入图片描述

3.1.2.多图片上传

示例:

<v-upload
          v-model="brand.image" 
          url="/item/upload"
          />

效果:

在这里插入图片描述

3.2.属性列表:

属性名说明数据类型默认值
url上传文件的目标路径String
value上传成功的返回结果单图片上传是String。多图片上传是String数组
multiple是否运行多图片上传Booleantrue
picWidth单图片上传后的预览宽度Number150
picHeight单图片上传后的预览高度Number150

3.3.说明

可以通过v-model双向绑定,来获取图片上传的结果:

  • 单图片上传时,value值是一个图片地址
  • 多图片上传时,value值是一个图片地址数组
  • 文件上传的参数名是:file
  • 文件上传的返回值,就是图片的url路径

4.自定义富文本编辑器

4.1.示例:

<v-editor v-model="goods.spuDetail.description" upload-url="/upload/image" fileName="file"/>

4.2.效果:

在这里插入图片描述

4.3.属性说明

属性列表:

属性名说明数据类型默认值
value编辑器的输出结果,可以用v-model双向绑定String
upload-url上传按钮对应的图片上传地址,以项目全局的url配置为前缀String
file-name上传文件的参数名Stringfile
maxUploadSize上传文件的大小限制,单位byteNumber500kb

备注:

默认支持的图片类型:jpg/png/jpeg/gif

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值