0.1.7 • Published 1 year ago

tags-selector v0.1.7

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

tag-select

功能介绍

基于elementUI的下拉选项框实现,包括如下功能点

  • 下拉框选项可设置默认项,支持在输入框中输入关键字筛选选项,如果没有所需选项,可以选择“新增标签:XXX”新建标签
  • 支持为输入的标签设置最大长度、最多可选数量、Reg校验
  • 标签内容中开头和结尾的空格自动去除
  • 标签字符数大于配置值,使用省略号表示后面的内容,鼠标放置到标签上,出现title显示全部内容

使用示例

main.js中引入

import tagSelect from 'tags-selector'
Vue.use(tagSelect)
<el-form>
    <el-form-item label="标签" label-width="100px" prop="labels" :error="tagErr">
        <tag-select 
          :labelsFormDataProp.sync="formAllData.labels"
          :initOptions="initOptions"
          :reg="Reg"
          :maxChecked="5"
          :maxLength="10"
          :ellipsisLength="6"
          @error="handleTagErr" 
          @clearError="handleClearTagErr">
        </tag-select>
    </el-form-item>
</el-form>
data() {
    return {
      formAllData: {
        labels: []
      },
      Reg: /^[0-9]+$/,
      tagErr: "",
      initOptions: [{
        name: '默认选项1',
        id: 1
      },
      {
        name: '默认选项2',
        id: 2
      },
      {
        name: '默认选项3',
        id: 2
      }]
    }
  },
  methods: {
    handleTagErr() {
      this.tagErr = "输入的字符无效,仅支持数字";
    },
    handleClearTagErr() {
      this.tagErr = "";
    },
  }

效果截图

npm.io npm.io npm.io

Options

参数说明类型可选值默认值
labelsFormDataProp选中的标签项数组,支持 .sync 修饰符。数据格式为{labelId: 0,labelName:'',tag:'CREATE'}如果选中已存在的默认选项,tag为EXIST,id为该选项的id;如果选中新建的选项,tag为CREATE,id为0array-[]
initOptions默认的选项列表,数组项的格式需满足{name: '',id: 1}array-[]
placeholder输入框占位文本string-'标签'
reg对输入的新标签的校验规则RegExp-默认支持数字、中英文、下划线
maxChecked筛选框中的最多可选数量Number--
maxLength新增标签的最大输入字数Number--
ellipsisLength标签显示省略号时的最大字符长度Number--
promptText新增标签时的提示语预设文本String-'新增标签:'

Events

事件名称说明回调参数
error标签校验失败时触发-
clearError需要父组件清除校验时触发-
0.1.7

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago