1.0.2 • Published 3 years ago

mintuiform v1.0.2

Weekly downloads
97
License
MIT
Repository
github
Last release
3 years ago

mintui form基本包

主要是老项目中用到 mintui,在实现表单的时候比较痛苦,就按照element ui写着一套,欢迎提需求哈。总共封装了以下组件

  • form 组件,执行校验和复位操作
  • formItem 组件, 监听 input radio select textarea等元素的事件,比如 blur change等
  • 重新封装了 field radio checklist 等组件。和 mintui 之前的用法保持一致 alt 效果图
npm i mintuiform
//  main.js
import mintuiform from 'mintuiform'
import 'mintuiform/lib/common.css'
Vue.use(mintuiform)
<!-- input -->
<mt-input></mt-input>
<!-- radio -->
<mt-form-radio></mt-form-radio>
<!-- checklist -->
<mt-form-checklist></mt-form-checklist>

demo 使用

  • formItem 的 label 是独立的,尽量和不要和表单组件的元素一起使用。
<template>
  <div>
    <mt-form :model="form" :rules="rules" ref="form">
      <mt-form-item prop="name" label="姓名">
        <mt-input v-model="form.name" />
      </mt-form-item>
      <mt-form-item prop="gender" label="性别">
        <mt-form-radio v-model="form.gender" :options="gender"></mt-form-radio>
      </mt-form-item>
      <mt-form-item prop="like" label="爱好">
        <mt-form-checklist v-model="form.like" :options="likes"></mt-form-checklist>
      </mt-form-item>
    </mt-form>
    <mt-button type="primary" @click="submit">提交</mt-button>
    <mt-button @click="resetForm">重置</mt-button>
  </div>
</template>

<script>
export default {
  name: "demo",
  data() {
    return {
      form: {
        name: "",
        gender: "",
        age: "",
        like: [],
      },
      gender: [
        {
          label: "男",
          value: "boy",
        },
        {
          label: "女",
          value: "girl",
        },
      ],
      likes: [
        {
          label: "吃",
          value: "eat",
        },
        {
          label: "喝",
          value: "drink",
        },
        {
          label: "玩",
          value: "play",
        },
        {
          label: "乐",
          value: "fun",
        },
      ],

      rules: {
        name: [
          { required: true, message: "请输入姓名", trigger: "blur" },
          {
            min: 3,
            max: 5,
            message: "长度在 3 到 5 个字符",
            trigger: "blur",
          },
        ],
        gender: [
          { required: true, message: "请选择用户性别", trigger: "change" },
        ],
        like: [
          {
            type: "array",
            required: true,
            message: "请至少选择一个用户爱好",
            trigger: "change",
          },
        ],
      },
    };
  },
  methods: {
    submit() {
      this.$refs.form.validate((res) => {
        console.log(res);
      });
    },
    resetForm() {
      this.$refs.form.resetFields();
    },
  },
};
</script>
1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago