ホームページ  >  記事  >  ウェブフロントエンド  >  vueでumy-uiを使用する方法

vueでumy-uiを使用する方法

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-04-23 09:23:413319ブラウズ

この記事では、vue で umy-ui を使用する方法を詳しく紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

vueでumy-uiを使用する方法

1. umy-ui をダウンロード http://www.umyui.com/

npm install  umy-ui    ||    yarn add umy-ui

2. umy-ui umy- を保存するファイルを作成します。 ui .js

//完整引入
import Vue from 'vue';
import UmyUi from 'umy-ui'
import 'umy-ui/lib/theme-chalk/index.css';// 引入样式

Vue.use(UmyUi);

オンデマンド インポートを使用し、babel-plugin-component を使用してプロジェクトのサイズを減らすのが最善です。

npm install babel-plugin-component

3. babel.config.jsでセットアップ

module.exports = {
  presets: [
    '@vue/app'
  ],
  plugins: [
    ["component", {
      'libraryName': "umy-ui",
      "styleLibraryName": "theme-chalk"
    }, "umy-ui"]
  ]
}

オンデマンドで導入

import Vue from 'vue';
import {
  UTableColumn,
  UTable,
  UxGrid,
  UxTableColumn
} from 'umy-ui';

Vue.use(UTableColumn);
Vue.use(UTable);
Vue.use(UxGrid);
Vue.use(UxTableColumn);

メインで。ファイルを js にインポートします。もちろん、上記のコードを main.js に直接記述することもできますが、コードはそれほどエレガントではありません。最大の利点は、仮想テーブルを使用することです。データが非常に大きい場合、仮想テーブルを使用すると遅延が発生しません

HTML コード

<template>
  <p class="about-layout">
    <!-- 
      ref :                     可以用来绑定数据,做虚拟表格
      height:                   绑定高度,若不绑定,自适应高度
      show-header-overflow      标题过长,是否显示省略号
      show-overflow             内容过长时显示为省略号    
      border                    显示纵向边框 
     -->
    <ux-grid
      ref="plxTable"
      :height="$store.state.plxTableHeightOne"
      :show-header-overflow="true"
      :show-overflow="true"
      border
    >
      <!-- 
        tableHead:              表格标题的数据列表
        resizable:              列是否允许拖动列宽调整大小
        title:                  设置表格的标题
        field:                  设置表格的显示内容
        sortable:               是否允许列排序
       -->
      <!-- 
         使用插槽,可以对数据进行过滤
         相当于覆盖了field的值
        -->
      <ux-table-column
        v-for="(item, index) in tableHead"
        min-width="120"
        :resizable="true"
        :key="index"
        :title="item.label"
        :field="item.prop"
        :sortable="item.sortable"
      >
        <template slot-scope="scope">
          {{
            tableFiilter(
              scope.column.property,
              scope.row[scope.column.property]
            )
          }}
        </template>
      </ux-table-column>
    </ux-grid>
  </p>
</template>
JS コード

export default {
  data() {
    return {
      // 标题列表数据
      tableHead: [
        {
          label: "吃",
          prop: "eat", //需要对应数据中的字段名,否则无效
        },
        {
          label: "喝",
          prop: "drink", //需要对应数据中的字段名,否则无效
        },
        {
          label: "玩",
          prop: "play", //需要对应数据中的字段名,否则无效
        },
      ],
      // 过滤吃的数据
      eatObj: {
        D: "饭",
        Y: "包子",
        R: "馒头",
        S: "辣条",
      },
      tabData:[]
    };
  },
  props: {},
  methods: {
    //过滤表格    value === D   Y  R  S    过滤一下
    //prop   字段名             value   字段值
    tableFiilter(prop, value) {
      if (prop === "eat") {
        return this.eatObj[value];
      }
    },
    // 获取数据
    getTableData(){
      let params = {
        page:1,
        pageSize:10
      }
      getTableData(params).then(res => {
        if(res.code !== 200){
          return this.$Message(&#39;请求发生错误&#39;)
        }
        this.tabData = res.data
        // 调用虚拟表格reloadData方法     实现虚拟表格
        this.$refs.plxTable.reloadData(this.tabData);
      })
    }
  },
  created() {
    this.getTableData()
  },
};

推奨学習:

vue.js チュートリアル

以上がvueでumy-uiを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。