mtaTable.vue 958 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <template>
  2. <table>
  3. <thead>
  4. <tr>
  5. <th v-for="item in config" :key="item.key">{{item.label}}</th>
  6. </tr>
  7. </thead>
  8. <tbody>
  9. <tr v-for="(itemTd,index) in data" :key="index">
  10. <td v-for="item in config" :key="item.key">
  11. <template v-if="item.key === 'name'">
  12. <span>
  13. {{itemTd[item.key]}}
  14. <i v-if="itemTd['shikanUrl']" @click="shikan(itemTd['shikanUrl'])">试看</i>
  15. </span>
  16. </template>
  17. <template v-else>
  18. <span>{{itemTd[item.key]}}</span>
  19. </template>
  20. </td>
  21. </tr>
  22. </tbody>
  23. </table>
  24. </template>
  25. <script>
  26. export default {
  27. name: "mtaTable",
  28. props: {
  29. data: {
  30. type: Array,
  31. default: () => ([])
  32. },
  33. config: {
  34. type: Array,
  35. default: () => ([])
  36. }
  37. },
  38. methods: {
  39. shikan(url) {
  40. this.$emit('shi-kan', {url})
  41. }
  42. }
  43. }
  44. </script>
  45. <style scoped>
  46. .shikan {
  47. cursor: pointer;
  48. }
  49. </style>