iview 表单处理模板
iview_note 学习笔记(1) iview_note 学习笔记(3)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Input v-model="value" placeholder="Enter something..." /> Input v-model="value1" size="large" placeholder="large size" /> Input v-model="value2" placeholder="Enter something..." clearable /> Input v-model="value3" maxlength="100" /> Input v-model="value4" icon="ios-clock-outline" /> Input prefix="ios-contact" placeholder="Enter name" style="width: auto" /> Input suffix="ios-search" placeholder="Enter text" style="width: auto" /> Input placeholder="Enter name" style="width: auto"> Icon type="ios-contact" slot="prefix" /> Input> Input placeholder="Enter text" style="width: auto"> Icon type="ios-search" slot="suffix" /> Input> Input search placeholder="Enter something..." />
使用 v-model 实现数据的双向绑定 设置 size 为 large 和 small 设置为大和小尺寸 开启属性 clearable 可显示清空按 通过 icon 属性可以在输入框右边加一个图标,点击图标,会触发 on-click 事件
Radio 1 2 3 4 5 6 7 Radio v-model="single">RadioRadio> RadioGroup v-model="phone"> Radio label="apple"> Icon type="logo-apple">Icon> apple Radio> Radio label="android"> Icon type="logo-android">Icon> android Radio> Radio label="windows"> Icon type="logo-windows">Icon> windows Radio> RadioGroup>
可设置 disabled 属性来禁用单选框 设置属性 size 为 large 或 small 将按钮样式设置为大和小尺寸 设置属性 type 为 button 来应用按钮的样式 设置 vertical 属性来垂直显示
Checkbox 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Checkbox v-model="single">CheckboxCheckbox> CheckboxGroup v-model="social"> Checkbox label="twitter"> Icon type="logo-twitter">Icon> span>Twitterspan> Checkbox> Checkbox label="facebook"> Icon type="logo-facebook">Icon> span>Facebookspan> Checkbox> Checkbox label="github"> Icon type="logo-github">Icon> span>Githubspan> Checkbox> CheckboxGroup>
相关属性同 Radio
Switch 1 2 3 4 i-switch v-model="switch1" @on-change="change"> span slot="open">开span> span slot="close">关span> i-switch>
可以使用 disabled size 属性
可以使用 loading 标识开关操作仍在执行中
Table 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 template> table :columns="columns1" :data="data1">table> template> script> export default { data () { return { columns1: [ { type: 'selection', width: 60, align: 'center', sortable: true { title: 'Name', key: 'name' }, { title: 'Age', key: 'age', filters: [ { label: 'Greater than 25', value: 1 }, { label: 'Less than 25', value: 2 } ] }, { title: 'Address', key: 'address' } ], data1: [ { name: 'name1', age: 18, address: ' ', date: '2019' }, { name: 'Jim Green', age: 24, address: ' ', date: '2019' }, { name: 'Joe Black', age: 30, address: ' ', date: '2019' } ] } } } script>
指定样式:
通过属性 row-class-name 可以给某一行指定一个样式名称。
通过给列 columns 设置字段 className 可以给某一列指定一个样式。
通过给数据 data 设置字段 cellClassName 可以给任意一个单元格指定样式。
指定数据设置:
给 columns 数据设置一项,指定 type: ‘selection’,即可自动开启多选功能
给 columns 数据的项,设置 sortable: true,即可对该列数据进行排序
给 columns 数据的项,设置 filters,可进行筛选,filterMethod 传入两个参数 value 和 row
设置属性 height 给表格指定高度;数据 columns 的项设置 fixed 为 left 或 right,可以左右固定需要的列,设置属性 size 为 large 或 small 可以调整表格尺寸为大或小,默认不填或填写 default 为中
设置属性 stripe ,表格会间隔显示不同颜色
设置属性 border ,添加表格的边框线
通过设置属性 loading 可以让表格处于加载中状态,在异步请求数据、分页时建议使用
设置属性 highlight-row,可以选中某一行,调用 clearCurrentRow 方法可以手动清除选中项
自定义列模板 使用 slot-scope 写法,在 columns 的某列声明 slot 后,就可以在 Table 的 slot 中使用 slot-scope slot-scope 的参数有 3 个:当前行数据 row,当前列数据 column,当前行序号 index
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 table border :columns="columns2" :data="data2"> template slot-scope="{ row, index }" slot="action"> button type="primary" size="small" style="margin-right: 5px" @click="show(index)" > View button> button type="error" size="small" @click="remove(index)">Deletebutton> template> table> script> export default { data() { return { columns2: [ { title: 'Name', key: 'name' }, { title: 'Age', key: 'age' }, { title: 'Address', key: 'address' }, { title: 'Action', slot: 'action', width: 150, align: 'center' }, ], data2: [ { name: 'name2', age: 'age2', address: 'addr2' }, { name: 'name3', age: 'age3', address: 'addr3' }, ], } }, methods: { show(index) { this.$Modal.info({ title: 'User Info', content: `Name:${this.data2[index].name} Age:${this.data2[index].age} Address:${this.data2[index].address}`, }) }, remove(index) { this.data6.splice(index, 1) }, }, } script>
Select 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 select v-model="model1" style="width:200px"> option v-for="item in cityList" :value="item.value" :key="item.value"> {{ item.label }} option> select> script> export default { data() { return { cityList: [ { value: 'New York', label: 'New York' }, { value: 'London', label: 'London' }, ], model1: '', } }, } script>
通过设置 size 属性为 large 和 small 将输入框设置为大和小尺寸
Select 设置属性 disabled 禁用整个选择器: Option 设置属性 disabled 可以禁用当前项,clearable 可以清空已选项,multiple 可以开启多选模式
使用 OptionGroup 可将选项进行分组<OptionGroup label="Cities"> <Option ></Option></OptionGroup>
Option 自定义模板
1 2 3 4 option value="New York" label="New York"> span>New Yorkspan> span style="float:right;color:#ccc">Americaspan> option>
Slider 1 2 3 4 5 6 7 8 9 10 11 template> Slider v-model="value1">Slider> Slider v-model="value2" :step="10">Slider> Slider v-model="value3" range>Slider> Slider v-model="value3" range disabled>Slider> Slider v-model="value4" show-input>Slider> template>
使用 tip-format 可以自定义提示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 template> Slider v-model="value5" :tip-format="format">Slider> template> script> export default { data() { return { value5: 25 } }, methods: { format(val) { return 'Progress: ' + val + '%' }, }, } script>
Date/Time Picker 1.DatePicker
1 2 3 4 5 6 7 8 9 10 11 12 13 template> DatePicker type="date" placeholder="Select date" style="width: 200px" >DatePicker> DatePicker type="daterange" placement="bottom-end" placeholder="Select date" style="width: 200px" >DatePicker> template>
设置属性 type 为 year 或 month 可以使用选择年或月的功能,date 或 daterange 分别显示选择单日和选择范围类型 开启属性 multiple 后,可以多选,设置属性 format 可以改变日期的显示格式 设置属性 confirm,选择日期后,选择器不会主动关闭,需用户确认后才可关闭
2.TimePicker
1 2 3 4 5 6 7 8 9 10 11 12 13 template> TimePicker type="time" placeholder="Select time" style="width: 168px" >TimePicker> TimePicker type="timerange" placement="bottom-end" placeholder="Select time" style="width: 168px" >TimePicker> template>
设置类似 DatePicker
Cascader 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 template> Cascader :data="data" v-model="value1">Cascader> template> script> export default { data() { return { value1: [], data: [ { value: 'data1', label: 'name1', children: [ { value: 'data1-1', label: 'name1-1' }, { value: 'data1-2', label: 'name1-2' }, { value: 'data1-3', label: 'name1-3' }, ], }, { value: 'data2', label: 'name2', children: [ { value: 'data2-1', label: 'name2-1' }, { value: 'data2-2', label: 'name2-2' }, ], }, ], } }, } script>
指定 value 默认值,组件会在初始化时选定数据 设置属性 trigger 为 hover,当鼠标悬停时就会展开子集 设置属性 change-on-select 点任何一级都可以做到选择即改变 使用属性 filterable 可直接搜索选项并选择
Transfer Rate Upload ColorPicker AutoComplete