• vue中如何给特殊字段设置插槽


    大纲:

    1. <script>
    2. import API from '@/components/common/Api'
    3. export default {
    4. data() {
    5. return {
    6. //查询参数
    7. pn: 1,
    8. ps: 10,
    9. count: 0,
    10. data: [],
    11. form: {},
    12. cardNo: '',//搜索键值
    13. datails: '',
    14. }
    15. },
    16. mounted() {
    17. this.getList()
    18. },
    19. methods: {
    20. search() {
    21. this.getList();
    22. },
    23. //获取智盘支付记录列表
    24. getList() {
    25. let params = {
    26. cardNo: this.cardNo,
    27. }
    28. API.getPosPayLog(params).then(result => {
    29. if (result.data && result.data.code == 0) {
    30. this.data = result.data.data.list || [];
    31. //循环遍历菜品
    32. this.data.forEach(item => {
    33. item.details = JSON.parse(item.details)
    34. })
    35. this.count = result.data.data.total
    36. }
    37. });
    38. },
    39. },
    40. }
    41. script>
    42. <style>style>

    代码详解:

            代码中使用了 Element UI 的组件,包括 el-input输入框)、el-button(按钮)、el-table(表格)、el-table-column(表格列)和 el-popover(气泡弹出框)等等。

           🍕 第一步: 在页面初始化时,通过 mounted 钩子函数调用 getList 方法获取支付记录列表,并将结果保存在 data 数组中。当点击搜索按钮时,会触发 search 方法,该方法再次调用 getList 方法进行搜索。

           🍕 第二步:getList 方法发送请求到后端接口,传递卡号作为参数。当接口返回数据后,将数据赋值给 data 数组,并使用 JSON.parse 将菜品详情从字符串解析为对象数组

           🍕 第三步:通过循环遍历 data 数组中的每一项,将菜品详情 item.details 解析为对象数组,以便在表格中展示。

          🔴 注意:具体的接口返回的数据类型可能会有所不同,可以根据实际需求进行调整。

    类型:字符串json

    1. <script>
    2. import API from '@/components/common/Api';
    3. export default {
    4. data() {
    5. return {
    6. /* data:[]后端获取到的数据列表。option表格配置项.form 表单*/
    7. data: [],
    8. form: {},
    9. query: {}, //搜索键值
    10. viewList: [],
    11. option: {
    12. size: 'mini', //表格大小 medium/small/mini
    13. border: true,
    14. align: 'center',
    15. viewBtn: false, //查看详情按钮
    16. editBtn: false, //编辑修改按钮
    17. delBtn: false, //删除按钮
    18. addBtn: false,
    19. menu: false,
    20. column: [{
    21. label: '消费商品', //表头
    22. prop: 'payOrder', //键值
    23. slot: true,
    24. }]
    25. },
    26. }
    27. },
    28. mounted() {
    29. this.onLoad()
    30. },
    31. methods: {
    32. // 根据接口获取data数据
    33. onLoad() {
    34. let params = {
    35. data: this.query,
    36. }
    37. API.yktPosPayLogAll(params).then(res => {
    38. if (res.data.code == 0) {
    39. this.data = res.data.data.list;
    40. //循环遍历商品
    41. this.data.forEach(item => {
    42. item.payOrder = JSON.parse(item.payOrder);
    43. })
    44. }
    45. })
    46. },
    47. getmenu(arr) {
    48. this.viewList = arr;
    49. },
    50. }
    51. }
    52. script>
    53. <style>style>
    1. <script>
    2. import API from '@/components/common/newApi';
    3. export default {
    4. data() {
    5. return {
    6. data: [],
    7. form: {},
    8. query: {},
    9. option: {
    10. border: true,
    11. column: [{
    12. label: '预定内容',
    13. prop: 'posFoodReserveDetail',
    14. slot: true,
    15. overHidden: true,
    16. }]
    17. },
    18. viewList: []
    19. };
    20. },
    21. mounted() {
    22. this.onLoad();
    23. },
    24. methods: {
    25. // 加载表格数据
    26. onLoad() {
    27. let param = {
    28. data: this.query
    29. };
    30. API.selectMyReserve(param).then(res => {
    31. if (res.data.code === 0) {
    32. this.data = res.data.data.list;
    33. }
    34. });
    35. },
    36. getmenu(arr) {
    37. this.viewList = arr;
    38. },
    39. }
    40. };
    41. script>
    42. <style>style>

    代码详解:

            在这个插槽中,我使用了 el-popover 组件来显示菜单信息,并通过点击按钮触发了 getmenu 方法。根据我这边的业务需求,我将在点击按钮时调用 getmenu 方法,并将传入的 scope.row.posFoodReserveDetail 赋值给 viewList。

    类型:数组

  • 相关阅读:
    专为年轻人打造!2022骨传导百元旗舰标杆,南卡Runner CC3重磅出击
    App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
    qt中Qtcpserver服务端_qt websocket
    Hadoop——Hadoop优势、组成、大数据技术生态体系、系统框架图
    【STM32】Systick定时器
    硬盘分区管理软件,硬盘分区软件哪个好用
    提升UI设计能力的几种套路 优漫动游
    二维数组的最小路径和问题
    网页【CSS】滚动条
    人机交互:从过去到现在
  • 原文地址:https://blog.csdn.net/m0_61911999/article/details/131944232