IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue3里setup函数里的坑:记录 -> 正文阅读

[JavaScript知识库]Vue3里setup函数里的坑:记录

在做项目实现请求接口数据,作用在echarts地图上时遇到了问题
首先在echart初始化配置数据的格式是data这里

series: [
  {
     type: 'scatter',
     coordinateSystem: 'geo' // 对应上方配置
   },
   {
     name: '用户数量', // 浮动框的标题
     type: 'map',
     geoIndex: 0,
     data: [{ name: '黔南布依族苗族自治州', value: 1 }]
   }
 ]

在setup函数里定义了在echarts初始化时用到的数据

const dataCity = ref([]);
GET_CITY_STAR({ province: pText }).then(res => {
  dataCity.value = res.data.data.map(item => {
    return {
      name: item.name,
      value: 1
    };
  });
});
console.log(dataCity);

在打印dataCity时发现没有数据
原因是setup函数是一个同步函数,而请求接口时异步,异步函数.then里的操作是在同步操作后,因此需要把echarts初始化函数写在then里
修改后:

const chinaConfigure = subText => {
  let myChart = echarts.init(document.getElementById('myEchart')); //这里是为了获得容器所在位置
  window.onresize = myChart.resize;
  GET_CITY_STAR({ province: pText }).then(res => {
    dataCity.value = res.data.data.map(item => {
      return {
        name: item.name,
        value: 1
      };
    });
    // 异步获取数据成功
    // 初始化echarts
    myChart.setOption({
      ..
      /** 相关配置 */
      ...
      series: [
        {
          type: 'scatter',
          coordinateSystem: 'geo' // 对应上方配置
        },
        {
          name: '用户数量', // 浮动框的标题
          type: 'map',
          geoIndex: 0,
          data: dataCity.value // 获取到接口返回的数据
        }
      ]
    });
    myChart.on('click', function (params) {
      console.log(params.data); //此处写点击事件内容
      if (params.data?.value == 1) {
        itemShow.value = true;
      } else {
        itemShow.value = false;
      }
    }); //点击事件,此事件还可以用到柱状图等其他
  });
};

完美解决了问题

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-09 11:33:50  更:2021-12-09 11:35:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:21:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码