当前位置: 首页 > article >正文

点击按钮修改文本--thinkphp8与ElementPlus

        ElementPlus是个UI框架,这里结合thinkphp8,前后端分离写个点击按钮修改文本的例子。

        创建数据表

CREATE TABLE `am8_user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(50) DEFAULT NULL,
  `email` varchar(100) DEFAULT NULL,
  `status` int(10) DEFAULT NULL COMMENT '-1:''删除'',0:''禁用'',1:''正常'',2:''待审核''',
  `score` float(5,2) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  `update_time` datetime DEFAULT NULL,
  `login_times` int(11) DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8
        编写User模型类

<?php

namespace app\mp_toutiao\model;
 

use think\Model;

/**
 * Description of User
 *
 * @author 
 */
class User extends Model {

}

        编写一个控制器方法

<?php

namespace app\mp_toutiao\controller;

use app\mp_toutiao\model\User;

/**
 * Description of index
 *
 * @author 
 */
class Index {

        public function getUserDetailForButton()
    {
        $list = User::where([
            'id' => request()->param('id')
        ])->find();
        
        return mySuccessResponse($list);  
    }

}

        编写一个公共方法

<?php
// 应用公共文件
function mySuccessResponse($data = [])
{
    return json([
        'code' => 1,
        'sub_code' => 0,
        'msg' => '',
        'data' => $data
    ]);
}

        前端编写如下

<script setup>

import HelloWorld from './components/HelloWorld.vue'
</script>

<template>
  
    <div class="mb-4">
      <el-button>Default</el-button>
      <!-- <el-button type="primary">Primary</el-button> -->
      <el-button type="primary" @click="changePrimary">Primary</el-button>
      <el-button type="success">Success</el-button>
      <el-button type="info">Info</el-button>
      <el-button type="warning">Warning</el-button>
      <el-button type="danger">Danger</el-button>
    </div>
    <el-text class="mx-1">Default</el-text>
      <el-text class="mx-1" type="primary">{{primary_text}}</el-text>
      <el-text class="mx-1" type="success">Success</el-text>
      <el-text class="mx-1" type="info">Info</el-text>
      <el-text class="mx-1" type="warning">Warning</el-text>
      <el-text class="mx-1" type="danger">Danger</el-text>
      
</template>

 <script>
    import axios from 'axios';
    export default {
        data() {
            return {
                  primary_text:'1234'
                }
        },
        methods: {
            changePrimary() {
              axios.get('http://mp.toutiao.am8.com/index/getUserDetailForButton', {
                  params: {
                    id: 1
                  }
                })
                .then((response) => {
                  console.log(response);

                    this.primary_text = response.data.data.name;
                })
                .catch(function (error) {
                  console.log(error);
                });
          }
        
        },
        mounted() {
            
            }
    }
    
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>
        运行效果如下

        点击Primary按钮,下面那行文本就会变化如下


http://www.kler.cn/a/349986.html

相关文章:

  • 探究 Facebook 隐私安全发展方向,未来走向何方?
  • 【Linux】其他备选高级IO模型
  • HTML5使用favicon.ico图标
  • Python的泛型(Generic)与协变(Covariant)
  • 开发环境搭建-1:配置 WSL (类 centos 的 oracle linux 官方镜像)
  • 线性表-线性存储结构
  • Spring使用注解进行依赖注入
  • Linux——rz+sz命令
  • 【数据分享】中国农村贫困监测报告2000-2020年(2012-2014年未发布)
  • 又一款国产自动化测试平台,开源了!
  • k8s Node节点维护
  • 什么是大数据治理?大数据治理未来趋势是什么?
  • FFmpeg的简单使用【Windows】--- 指定视频的时长
  • Nacos微服务配置管理和拉取
  • NCP1342 | 65W氮化镓快充电源主控芯片,准谐振反激控制器
  • Nginx中的并发限制之limit_req和limit_conn和limit_rate 详解
  • threejs-光线投射实现3d场景交互事件
  • ORB-SLAM2之OpenCV reshape函数
  • 基于Spring Boot+vue技术的导游系统设计与实现
  • 10-μA低功耗30-ppm/°C 漂移电压基准-ZCC3325替代REF33XX
  • AI开发-三方库-Hugging Face-Pipelines
  • Dirmap:一款高级Web目录文件扫描工具
  • 【Linux】Linux进程基础
  • pdf文件怎样一张纸打印四页
  • 多模态大语言模型(MLLM)-InstructBlip深度解读
  • 【自动驾驶汽车通讯协议】GMSL通信技术以及加串器(Serializer)解串器(Deserializer)介绍