vue+iview 初学基础

1 篇文章 0 订阅

1.iview的Row标签在浏览器里面是解析为 ivu-row 的class Rol标签解读为 ivu-rol

2.属性(待补充)

gutter: 指定栏与栏之间的间隔,默认为零。 用法 <Row :gutter="20"></Row>

3. (此内容部分参考 作者:_dalianmiao 地址 https://blog.csdn.net/hani_wen/article/details/80975772 )

在非 template/render 模式下(例如使用 CDN 引用时),组件名要分隔,例如 DatePicker 必须要写成 date-picker。

以下组件,在非 template/render 模式下,需要加前缀 i-:

Button: i-button 

Col: i-col 
Table: i-table 
Input: i-input 
Form: i-form 
Menu: i-menu 
Select: i-select 
Option: i-option 
Progress: i-progress 
以下组件,在所有模式下,必须加前缀 i-,除非使用 iview-loader: 

iview-loader:统一 iView 标签书写规范,所有标签都可以使用首字母大写的形式,包括 Vue 限制的两个标签 Switch 和 Circle。虽然不推荐,但通过 loader 选项配置,可以开启所有标签前缀的写法了,比如 i-date-picker。

Switch: i-switch 
Circle: i-circle 

2.因为iView 的所有组件文案默认使用的是中文,通过设置可以使用其它语言。 
在 Webpack 中使用 # 
完整引入 iView

import Vue from 'vue';
import iView from 'iview';
import locale from 'iview/dist/locale/en-US';
4.栅格 
采用了24栅格系统,将区域进行24等分 
使用row在水平方向创建一行 
将一组col插入在row中 
在每个col中,键入自己的内容 
通过设置col的span参数,指定跨越的范围,其范围是1到24 
每个row中的col总和应该为24 
水平排列的布局。 
col必须放在row里面。

使用报错: 
Parsing error: x-invalid-end-tag : 
问题原因 
iView将标签渲染为原生html标签时,由于这些标签是自闭合的,所以有end标签会报错。 
解决方案 
修改配置文件,忽略该项检查:

根目录下 - .eslintrc.js - rules 
添加一行:

'vue/no-parsing-error': [2, { "x-invalid-end-tag": false }]
重启dev: npm run dev


组件概述 # 
Layout:布局容器,其下可嵌套 HeaderSiderContentFooter或 Layout 本身,可以放在任何父容器中。 
Header:顶部布局,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中。 
Sider:侧边栏,自带默认样式及基本功能,其下可嵌套任何元素,只能放在 Layout 中。 
Content:内容部分,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中。 
Footer:底部布局,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中。

 

 

在使用Vue框架结合iView组件库进行开发时,实现文件切片上传功能,通常需要将大文件分割成多个小文件片段,并逐一上传至服务器,待所有片段上传完成后再进行文件的合并操作。以下是一个基本的实现思路: 1. 首先,在Vue组件中引入iView组件库,并准备一个文件上传组件,例如`Upload`。 2. 在组件的数据对象中,设置上传文件相关的状态和片段信息,如文件列表、文件大小、当前上传的片段、每个片段的大小等。 3. 创建一个方法,用于处理文件的切片逻辑。当用户选择文件后,根据文件大小和设定的每个片段大小计算出总共需要上传多少个片段。 4. 在切片方法中,可以使用JavaScript的`File` API来读取文件,并通过`slice`方法来获取每个片段。 5. 利用iView的`Upload`组件,设置上传配置,包括`action`(上传的接口地址)、`beforeUpload`(上传前的钩子函数,用于实现切片逻辑)、`onSuccess`和`onError`(上传成功或失败的回调函数)。 6. 在`beforeUpload`钩子中,阻止默认的上传行为,按照切片逻辑处理文件,并依次使用`Upload`组件的`$upload`方法上传每个文件片段。 7. 上传过程中,可以更新上传状态,显示当前上传进度和结果。 8. 所有片段上传完成后,通过后端接口通知服务器进行文件合并。 9. 后端接口需要处理接收到的文件片段,并正确合并成原始文件。 以下是一个简化的代码示例: ```javascript <template> <Upload action="/api/upload" :before-upload="beforeUpload" :on-success="onSuccess" :on-error="onError"> <Button type="primary">选择文件</Button> </Upload> </template> <script> export default { data() { return { fileList: [], // 文件列表 chunkSize: 1024 * 1024 * 2, // 每个片段大小为2MB // 其他需要的数据和方法... }; }, methods: { beforeUpload(file) { // 切片逻辑 const chunks = Math.ceil(file.size / this.chunkSize); for (let i = 0; i < chunks; i++) { const chunkFile = file.slice(i * this.chunkSize, (i + 1) * this.chunkSize); // 调用上传函数 this.uploadChunk(chunkFile, file.name, i); } return false; // 阻止默认上传 }, uploadChunk(chunkFile, fileName, chunkIndex) { // 实现上传逻辑... }, onSuccess(response, file, fileList) { // 上传成功处理... }, onError(error, file, fileList) { // 上传失败处理... } } }; </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值