TDesign Vue Next

1.19.1 · active · verified Sun Apr 19

TDesign Vue Next is a comprehensive UI component library specifically designed for Vue 3 and desktop applications. It offers a rich set of high-quality components, maintaining a consistent API and UI experience across the TDesign ecosystem for various frameworks. The library supports modern features such as dark mode, customizable themes, and efficient tree-shaking to optimize bundle sizes. Currently at version 1.19.1, it follows an active release cadence, frequently delivering bug fixes, performance improvements, and new features, often on a weekly or bi-weekly basis, as evidenced by its recent changelog. It emphasizes desktop interaction patterns and provides robust TypeScript types for an enhanced developer experience, making it a suitable choice for large-scale enterprise applications.

Common errors

Warnings

Install

Imports

Quickstart

This example demonstrates how to import and use individual TDesign Vue Next components (Button, Space, Input) and their essential global styles within a Vue 3 application. It also includes a basic interaction with the Message plugin.

import { createApp, defineComponent } from 'vue';
import { Button, Space, Input, Message } from 'tdesign-vue-next';
import 'tdesign-vue-next/es/style/index.css';

const App = defineComponent({
  template: `
    <div style="padding: 20px;">
      <h1>TDesign Vue Next Quickstart</h1>
      <Space>
        <Button theme="primary" @click="showMessage">Primary Button</Button>
        <Button theme="default">Default Button</Button>
        <Input placeholder="Enter text" />
      </Space>
      <p style="margin-top: 20px;">
        This demonstrates importing individual components and the global stylesheet.
        For full installation, you can 'app.use(TDesign)' after importing TDesign.
      </p>
    </div>
  `,
  components: { Button, Space, Input },
  methods: {
    showMessage() {
      Message.info('Hello from TDesign!');
    }
  }
});

const app = createApp(App);
// If you want to use plugins like Message directly without component import:
// import TDesign from 'tdesign-vue-next';
// app.use(TDesign);
app.mount('#app');

view raw JSON →