zoukankan      html  css  js  c++  java
  • vue 组件复用

    实现对各个组件进行校验

    mixins

    hots

    rendless (推荐)

    1.app中引入

    <template>
      <div id="app">
        <task-list/>
      </div>
    </template>
    
    <script>
    import taskList from '../src/views/taskList'
    export default {
      name: 'App',
      components: {
        taskList
      }
    }
    </script>
    
    <style>
    </style>

    2. 添加校验的组件input,textarea,通过SValidate子组件来实现校验,taskList组件

    <template>
      <div>
        <s-validate #default="{ validate }" :value="value" :rules="rules">
          <input @blur="validate" v-model="value"/>
        </s-validate>
        <s-validate #default="{ validate }" :value="value" :rules="textRules">
          <textarea type="text" @blur="validate"  v-model="text"/>
        </s-validate>
      </div>
    </template>
    <script>
    import SValidate from './SValidate'
    export default {
      name: 'TestBody',
      data () {
        return {
          value: 'hi',
          text: 'hi',
          rules: [
            {
              test: function (value) {
                return /d+/.test(value)
              },
              message: '请输入一个数字'
            }
          ],
          textRules: [
            {
              test: function (value) {
                return value
              },
              message: '请输入一个非空的值'
            }
          ]
        }
      },
      components: {
        SValidate
      }
    }
    </script>
    <style lang="scss" scoped>
    </style>

    3.子组件校验工作

    <template>
    <div>
    <slot :validate="validate"></slot>
    {{ errMsg }}
    </div>
    </template>
    <script>
    export default {
    props: ["value", "rules"],
    data() {
    return { errMsg: "" };
    },
    methods: {
    validate() {
    let validate = this.rules.reduce((pre, cur) => {
    let check = cur && cur.test && cur.test(this.value);
    this.errMsg = check ? "" : cur.message;
    return pre && check;
    }, true);
    return validate;
    }
    }
    };
    </script>

     4.实现效果:

    将来的自己,会感谢现在不放弃的自己!
  • 相关阅读:
    内部类
    java的静态方法多态和匿名对象
    java的重载 和重写
    java多态成员的特点
    java 接口的概念
    linux时间修改-hwclock和date
    mysql配置主从复制和常见问题
    mysql日志种类、二进制日志模式、mysqlbinlog解析二进制日志
    mysql主从复制介绍
    mysql备份与还原-mysqldump备份、mysql与source还原
  • 原文地址:https://www.cnblogs.com/TheYouth/p/14429504.html
Copyright © 2011-2022 走看看