• vue手写卡片切换,并且点击获取到卡片信息


    需求:做一个卡片样式的列表,之后有一些基本信息,之后卡片选中后样式不一样,默认选中第一个卡片,点击卡片后可以获取到卡片的信息

    一、效果

    二、关键代码

    index默认重0开始,activeTable默认为0,0-0等于0,但是有个!那就是取反的意思,那就是true ,就是点击的这个会有选中的active样式,也就是默认第一个会被选中,之后点击其他卡片只需要把index给赋值给activeTab就能实现了

    1. class="menu-list">
    2. <div v-for="(item, index) in menuTableData" :key="index">
    3. <div :class="{ active: !(index - activeTab), menus: 'menus' }" @click="menuClick(item, index)">
    4. <div class="menu-avatar">
    5. <i class="el-icon-star-off">i>
    6. div>
    7. <div class="menu-text">{{ item.name }}div>
    8. div>
    9. div>
  • 三、完整代码

    1. <script>
    2. export default {
    3. data() {
    4. return {
    5. menuTableData: [
    6. {
    7. name: '李华'
    8. },
    9. {
    10. name: '张三'
    11. },
    12. {
    13. name: '李四'
    14. }
    15. ],
    16. activeTab: 0 //根据点击进行高亮
    17. };
    18. },
    19. mounted() {},
    20. methods: {
    21. menuClick(item, index) {
    22. this.activeTab = index;
    23. console.log(item, '点击菜单管理获取');
    24. }
    25. }
    26. };
    27. script>
    28. <style lang="scss" scoped>
    29. .menu-list {
    30. height: calc(100vh - 360px);
    31. overflow: auto;
    32. display: flex;
    33. flex-direction: column;
    34. box-sizing: border-box;
    35. // 左侧主要样式
    36. .menus {
    37. /* 矩形 7 */
    38. width: 300px;
    39. height: 80px;
    40. background: rgb(255, 255, 255);
    41. box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
    42. border-radius: 4px;
    43. margin: 20px 20px;
    44. display: flex;
    45. align-items: center;
    46. .menu-avatar {
    47. /* 椭圆形 */
    48. width: 43px;
    49. height: 43px;
    50. background: rgba(163, 241, 255, 0.4);
    51. border-radius: 50%;
    52. display: flex;
    53. justify-content: center;
    54. align-items: center;
    55. margin-left: 20px;
    56. i {
    57. font-size: 25px;
    58. color: #fff;
    59. }
    60. }
    61. .menu-text {
    62. /* 用户管理 */
    63. color: pink;
    64. font-family: 阿里巴巴普惠体;
    65. font-size: 18px;
    66. font-weight: 400;
    67. line-height: 22px;
    68. letter-spacing: -1px;
    69. text-align: left;
    70. margin-left: 20px;
    71. }
    72. }
    73. // 选中菜单管理列表后高亮
    74. .active {
    75. box-shadow: 0px 8px 8px 0px rgba(27, 19, 19, 0.1);
    76. .menu-avatar {
    77. background: rgb(156, 210, 241);
    78. }
    79. .menu-text {
    80. font-weight: 600;
    81. }
    82. }
    83. }
    84. style>

    文章到此结束希望对你有所帮助~

  • 相关阅读:
    移动端吸顶方案
    【PAT甲级 - C++题解】1149 Dangerous Goods Packaging
    怎么看网站域名有没有收录 收录情况怎么样 网站收录查询
    杭电oj--数列有序
    记录一个sentinel修改密码方法
    Mybatis&MybatisPlus 操作 jsonb 格式数据
    npm install的-S和-D的区别
    WMS仓库管理系统库位功能
    纯前端 excel 导出
    ML 线性回归原理推导以及灵魂拷问 (面试必考知识点)
  • 原文地址:https://blog.csdn.net/qq_44278289/article/details/136252125