美文网首页
Argument of type 'Vue | Element

Argument of type 'Vue | Element

作者: 草帽lufei | 来源:发表于2020-05-29 19:26 被阅读0次

    vue2.6 , typescript3 项目引入 Echarts 时报错,内容如下

    Argument of type 'Vue | Element | Vue[] | Element[]' is not assignable to parameter of type 'HTMLDivElement | HTMLCanvasElement'.
      Type 'Vue' is not assignable to type 'HTMLDivElement | HTMLCanvasElement'.
        Type 'Vue' is missing the following properties from type 'HTMLCanvasElement': height, width, getContext, toBlob, and 243 more.Vetur(2345)
    

    ECharts.vue

    <template>
      <div>
        <div ref="main" style="width:500px;height:500px;"></div>
      </div>
    </template>
    <script lang="ts">
    import { Component, Vue } from 'vue-property-decorator'
    import * as echarts from 'echarts'
    @Component({
      components: {}
    })
    export default class ECharts extends Vue {
      private mounted() {
        console.info('mounted')
        console.info(echarts)
        console.info(this.$refs.main)
        const mainEle = this.$refs.main
        const myChart = echarts.init(mainEle)
        myChart.setOption({
          title: {
            text: 'ECharts 入门示例'
          },
          tooltip: {},
          xAxis: {
            data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
          },
          yAxis: {},
          series: [
            {
              name: '销量',
              type: 'bar',
              data: [5, 20, 36, 10, 10, 20]
            }
          ]
        })
        console.info(myChart)
      }
    }
    </script>
    <style scoped lang="scss"></style>
    
    

    错误出现在 ECharts.vue 第17行 const mainEle = this.$refs.main

    解决方案

    this.$refs.main 内容修改为 this.$refs.main as HTMLDivElement 即可

    相关文章

      网友评论

          本文标题:Argument of type 'Vue | Element

          本文链接:https://www.haomeiwen.com/subject/ojmfzhtx.html