<el-date-picker v-model="value1" align="right" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" @change="changeDate"></el-date-picker><el-date-picker v-model="datetime" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss" @change="changeDate"></el-date-picker>
年月日,时分秒,这种日期组件是我们经常会用到的,我们很多场景都会用到这个组件,所以今天来说一下这两个东西!这里最重要的就是要记住这两个格式,
value-format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd"
剩下的都可以迎刃而解了~
接下来我们说一下table表格~
首先,我们先写一个el-table标签,这个就是表头,然后绑定一个data,接着写一个el-table-column标签,这个表示一列,然后给上label属性,这个属性就是代表这列叫什么名字。
<el-table :data="tableData"><el-table-column label="名称" ></el-table-column></el-table>tableData:[{name:'小刘',address:'中国',age:20}, {name:'小高',address:'中国',age:23},]
这个数据是一个数组对象,然后我们有name,address,age这三列,那么我们肯定需要三个el-table-column标签。还有一个重要的属性,叫prop,这个代表,哪一列,要放什么数据,就绑定什么属性
<el-row style="margin: 20px 0;"><el-table :data="tableData"><el-table-column label="名称" prop="name"></el-table-column><el-table-column label="国籍" prop="address"></el-table-column><el-table-column label="年龄" prop="age"></el-table-column></el-table></el-row>
这样就绑定了三个属性,都会显示在下面了
还可以设置表头的样式,通过 :header-cell-style就可以
<el-row style="margin: 20px 0;"><el-table stripe :data="tableData" border :header-cell-style="{background:'red',fontSize:'20px'}"><el-table-column label="名称" prop="name"></el-table-column><el-table-column label="国籍" prop="address"></el-table-column><el-table-column label="年龄" prop="age"></el-table-column></el-table></el-row>
我们还会遇到很多的实际操作,比如:我们最后一列要变成按钮,这个操作也是经常用的!
<el-row style="margin: 20px 0;"><el-table stripe :data="tableData" border :header-cell-style="{background:'red',fontSize:'20px'}"><el-table-column label="名称" prop="name"></el-table-column><el-table-column label="国籍" prop="address"></el-table-column><el-table-column label="年龄" prop="age"></el-table-column><el-table-column label="操作"><template v-slot="scope"><el-button type="primary" @click="edit(scope.row)">编辑</el-button></template></el-table-column></el-table></el-row>methods:{edit(row){alert(row.name)}}
我们首先更改最后一列,变成操作,然后用v-slot插槽,接着写一个按钮,在按钮上绑定一个点击事件,然后再点击事件中,将行数据传入,最后在方法中写弹出事件,弹出名字即可
v-slot 指令的使用场景包括但不限于以下几种:
- 在组件中使用插槽,将父组件中的内容传递给子组件。
- 在子组件中使用具名插槽,根据插槽名称渲染不同的内容。
- 在子组件中使用作用域插槽,将子组件中的数据传递到父组件中进行渲染。
我们再来美化一下弹窗,哈哈哈哈
methods:{edit(row){// alert(row.name)this.$confirm('这是个什么玩意?','提示',{type:'warning'}).then(res=>{this.$message.success("ok我点击了确认")}).catch(()=>{this.$message.warning("ok我点击了取消")})}}
这样点击edit的时候就会弹出弹窗,美观很多