MenuModuleLayout.vue 1.47 KB
<template>
  <section class="menu-module-layout">
    <span class="module-title">{{$t('homeSearch.titleModule')}}</span>
    <div class="menu-modules-container">
      <div class="menu-module-item" v-for="(item, idx) in datas" :key="idx" @click="handleClickItem(item)">
        <img v-if="item.icon" class="menu-icon" :src="item.icon">
        <div v-else class="menu-icon"></div>
        <span v-if="item.name" class="menu-name">{{item.name}}</span>
        <div v-else class="menu-name white"></div>
      </div>
    </div>
  </section>
</template>

<script>
export default {
  name: 'MenuModuleLayout',
  props: {
    datas: {
      type: Array,
      default: () => []
    }
  },
  methods: {
    handleClickItem (item) {

    }
  }
}
</script>


<style lang="less" scoped>
.menu-module-layout {
  .module-title {
    color: #222222;
    font-size: 19px;
  }

  .menu-modules-container {
    display: flex;
    flex-flow: wrap;
  }

  @ModulePaddingTop: 10px;
  .menu-module-item {
    padding-top: @ModulePaddingTop;
    width: 20%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    @IconSize: 50px;
    .menu-icon {
      background: #eee;
      height: @IconSize;
      width: @IconSize;
      border-radius: calc(@IconSize / 2);
    }
    .menu-name {
      display: block;
      margin-top: 8px;
      line-height: 17px;
      min-height: 17px;
      font-size: 12px;
      text-align: center;
      color: #444444;
    }
  }
}
</style>