从0到1实现一个ui组件库

0.搭建vue

        pnpm create vue

1.下载依赖

{
  "name": "你的ui名",
  "version": "1.0.6",
  "type": "module",
  "license": "MIT",
  "keywords": [
    "vue3",
    "components",
    "library"
  ],
  "files": [
    "dist"
  ],
  "module": "dist/es/你的ui名.js",
  "main": "dist/umd/你的ui名.umd.cjs",
  "exports": {
    ".": {
      "import": "./dist/es/你的ui名.js",
      "require": "./dist/umd/你的ui名.umd.cjs"
    },
    "./style.css": {
      "import": "./dist/style.css",
      "require": "./dist/umd/style.css"
    }
  },
  "scripts": {
    "dev": "vite",
    "build": "pnpm build-es && pnpm build-umd && pnpm move-style",
    "build-es": "vite build --config vite.es.config.ts",
    "build-umd": "vite build --config vite.umd.config.ts",
    "preview": "vite preview",
    "build-only": "vite build",
    "type-check": "vue-tsc --build --force",
    "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
    "format": "prettier --write src/",
    "move-style": "move-file dist/es/style.css dist/style.css",
    "release": "release-it"
  },
  "peerDependencies": {
    "vue": "^3.4.21"
  },
  "devDependencies": {
    "sass": "^1.76.0",
    "vue": "^3.4.21",
    "vue-router": "^4.3.0",
    "@rushstack/eslint-patch": "^1.8.0",
    "@tsconfig/node20": "^20.1.4",
    "@types/node": "^20.12.5",
    "@vitejs/plugin-vue": "^5.0.4",
    "@vitejs/plugin-vue-jsx": "^3.1.0",
    "@vue/eslint-config-prettier": "^9.0.0",
    "@vue/eslint-config-typescript": "^13.0.0",
    "@vue/tsconfig": "^0.5.1",
    "eslint": "^8.57.0",
    "eslint-plugin-vue": "^9.23.0",
    "npm-run-all2": "^6.1.2",
    "prettier": "^3.2.5",
    "typescript": "~5.4.0",
    "vite": "^5.2.8",
    "vue-tsc": "^2.0.11",
    "move-file-cli": "^3.0.0",
    "release-it": "^17.2.1"
  },
  "release-it": {}
}

2.具体的项目结构可以通过下载我的npm包拿到

pnpm create cocovite

        然后选uivite就行

3.实现

        在components里新增组件后挂载到main和bundle.ts就行

        然后输入pnpm run dev  npm run release        实现一键部署到npm上

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是实现模糊搜索的步骤: 1. 安装Element UI组件 在Vue项目中使用Element UI组件需要先安装它,可以使用npm或yarn命令进行安装。具体命令如下: 使用npm安装:`npm i element-ui -S` 使用yarn安装:`yarn add element-ui` 2. 引入Element UI组件 在Vue项目中需要使用Element UI组件,首先需要在main.js中引入Element UI组件。具体代码如下: ```javascript import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI) ``` 3. 实现模糊搜索功能 在Vue组件的template标签中添加一个el-input组件和el-table组件,其中el-input组件用于输入关键词进行搜索,el-table组件用于显示搜索结果。具体代码如下: ```html <template> <div> <!-- el-input组件 --> <el-input placeholder="请输入关键词" v-model="keyword" @input="handleSearch"></el-input> <!-- el-table组件 --> <el-table :data="tableData"> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="age" label="年龄"></el-table-column> <el-table-column prop="gender" label="性别"></el-table-column> </el-table> </div> </template> ``` 在Vue组件的script标签中,定义data属性,其中包含tableData数组和keyword字符串。tableData数组用于存储搜索结果,keyword字符串用于存储搜索关键字。同时,在methods中定义handleSearch方法,该方法用于实现模糊搜索功能。具体代码如下: ```javascript <script> export default { data() { return { tableData: [ { name: '张三', age: 18, gender: '男' }, { name: '李四', age: 20, gender: '女' }, { name: '王五', age: 22, gender: '男' }, ], keyword: '' } }, methods: { handleSearch() { if (!this.keyword) { // 如果keyword为空,显示所有数据 this.tableData = [ { name: '张三', age: 18, gender: '男' }, { name: '李四', age: 20, gender: '女' }, { name: '王五', age: 22, gender: '男' }, ] } else { // 使用filter方法实现模糊搜索 this.tableData = this.tableData.filter(item => item.name.includes(this.keyword)) } } } } </script> ``` 以上代码实现一个简单的模糊搜索功能,当在el-input组件中输入关键词时,el-table组件会根据关键词进行模糊搜索,并显示搜索结果。如果关键词为空,el-table组件会显示所有数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

博丽七七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值