{{ id }}

当前位置:   article > 正文

Element-ui tab栏的切换_elementui的tab切换

elementui的tab切换

代码:

  1. <template>
  2. <div class="">
  3. <h3>{{ id }}</h3>
  4. <div class="detail">
  5. <el-card>
  6. <el-tabs>
  7. <el-tab-pane label="登录账户设置">
  8. <el-form ref="form" label-width="80px" :model="form" :rules="rules">
  9. <el-form-item label="姓名" prop="username">
  10. <el-input v-model="form.username" />
  11. </el-form-item>
  12. <el-form-item label="密码" prop="password">
  13. <el-input v-model="form.password" type="password" />
  14. </el-form-item>
  15. <el-form-item>
  16. <el-button type="primary" @click="submit">更新</el-button>
  17. <el-button @click="back">取消</el-button>
  18. </el-form-item>
  19. </el-form>
  20. </el-tab-pane>
  21. <el-tab-pane label="个人详情" lazy>
  22. <!-- 动态组件 -->
  23. <Info :user-info="userInfo" />
  24. </el-tab-pane>
  25. <el-tab-pane label="岗位详情" lazy>岗位详情</el-tab-pane>
  26. </el-tabs>
  27. </el-card>
  28. </div>
  29. </div>
  30. </template>
  31. <script>
  32. import Info from './components/info.vue'
  33. import { sysUser, sysUserPut } from '@/api/user.js'
  34. export default {
  35. name: '',
  36. components: {
  37. Info
  38. },
  39. data() {
  40. return {
  41. otherUserInfo: {},
  42. id: this.$route.params.id,
  43. form: {
  44. username: '',
  45. password: '1232'
  46. },
  47. rules: {
  48. username: { required: true, message: '必填', trigger: 'change' },
  49. password: { required: true, message: '必填', trigger: 'change' }
  50. },
  51. userInfo: ''
  52. }
  53. },
  54. created() {
  55. this.getData()
  56. },
  57. methods: {
  58. back() {
  59. this.$router.push('/employees')
  60. },
  61. async getData() {
  62. const res = await sysUser(this.id)
  63. this.form.username = res.data.username
  64. this.otherUserInfo = JSON.parse(JSON.stringify(res.data))
  65. this.userInfo = res.data
  66. console.log(res)
  67. },
  68. submit() {
  69. this.$refs.form.validate(async(result) => {
  70. if (result) {
  71. // 1.{...obja,...objb}
  72. await sysUserPut({ ...this.userInfo, ...this.form })
  73. this.otherUserInfo.username = this.form.username
  74. // 提示
  75. this.$message.success('修改成功')
  76. }
  77. })
  78. }
  79. }
  80. }
  81. </script>
  82. <style lang="scss" scoped>
  83. .detail {
  84. padding: 15px;
  85. }
  86. </style>

解析:使用el-tabs进行包裹,使用el-tab-pan来显示上面的可选栏。

对应的效果图:

 基本的用法 具体可参考官网。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/581673
推荐阅读
相关标签