zoukankan      html  css  js  c++  java
  • element-ui 使用拼音快速查找 pinyin-engine

    安装

    npm install pinyin-engine --save

    API

    new PinyinEngine(list, keys)

    建立拼音索引。

    参数:

    1. list {[string]|[Object]} 被索引的目标
    2. keys {[string]} 可选。如果 list 为 Object,这里用来设置需要被索引的 key

    .query(keyword)

    查询匹配拼音的数据。

    参数:

    1. keyword {string} 拼音或者关键字

    返回:

    {[string]|{Object}}

    繁体中文版本

    包含简体中文与繁体中文。

    const PinyinEngine require('pinyin-engine/tw');

    使用范例

    列表项为字符串:

    const PinyinEngine require('pinyin-engine');
     
    // 建立数据索引
    const pinyinEngine new PinyinEngine([
        '清华大学',
        '北京大学',
        '中央美院'
    ]);
     
    // 查询
    pinyinEngine.query('daxue')// ['清华大学', '北京大学']

    列表项为对象:

    const PinyinEngine require('pinyin-engine');
     
    // 建立数据索引
    const pinyinEngine new PinyinEngine([
        { id0, name'清华大学},
        { id1, name'北京大学},
        { id3, name'中央美院}
    ]['name']);
     
    // 查询
    pinyinEngine.query('daxue')// ['清华大学', '北京大学']
     
    https://www.npmjs.com/package/pinyin-engine
    案例
    <el-form size="mini" :inline="true" :model="formInline" class="demo-form-inline mb0">
              <el-form-item label="科室">
                <el-select v-model="formInline.department" filterable default-first-option 
    :filter-method="PinyinMatch" style="120px" placeholder="科室">
                  <el-option v-for="item in pinyinOptions" :key="item.value" :label="item.label"
     :value="item.value" />
                </el-select>
              </el-form-item>
            </el-form>
    <script>
    export default {
      data() {
        return {
          options: [{
            value: '选项1',
            label: '304 医联体'
          }, {
            value: '选项2',
            label: '401 院领导'
          }, {
            value: '选项3',
            label: '402 办公室'
          }, {
            value: '选项4',
            label: '403 财务科'
          }, {
            value: '选项5',
            label: '404 设备科'
          }],
          pinyinOptions: []
        }
      },
      created() {
        this.pinyinOptions = this.options
      },
      methods: {
        onSubmit() {
          console.log('submit')
        },
        PinyinMatch(val) {
          const PinyinEngine = require('pinyin-engine')
          // 建立数据索引
          const pinyinEngine = new PinyinEngine(this.options, ['label'])
          // 查询
          const pinyinVal = pinyinEngine.query(val)
          this.pinyinOptions = pinyinVal
        }
      }
    }
    </script>


  • 相关阅读:
    MySql中子查询,左链,右链,内链,关键字join
    MySql数据库约束,主键和外键约束的添加删除,代码实现,sql语句实现
    MySql查询,聚合函数,分组,分页,排序等复杂查询
    DQL简单语句和条件语句
    django vue
    离线部署Django工程
    数据处理与分析实战小案例系列(一)
    Python常用功能函数总结系列
    Python常用功能函数系列总结(六)
    Python常用功能函数系列总结(五)
  • 原文地址:https://www.cnblogs.com/hellofangfang/p/10935174.html
Copyright © 2011-2022 走看看