当前位置: 代码迷 >> 综合 >> Vue知识点小结
  详细解决方案

Vue知识点小结

热度:55   发布时间:2023-09-13 20:25:42.0

Element-ui之ElScrollBar组件滚动条的使用

文档中并没有关于这个 scrollbar组件的使用文档,搜索一番得知这是一个隐藏组件,官方在 github 的 issues 中表示不会写在文档中,需要用的自己看源码进行调用。

scrollbar组件暴露了 native, wrapStyle, wrapClass, viewClass, viewStyle, noresize, tag 这7个 props属性

props: {native: Boolean,  // 是否使用本地,设为true则不会启用element-ui自定义的滚动条wrapStyle: {},  // 包裹层自定义样式wrapClass: {},  // 包裹层自定义样式类viewClass: {},  // 可滚动部分自定义样式类viewStyle: {},  // 可滚动部分自定义样式noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能tag: {  // 生成的标签类型,默认使用 `div`标签包裹type: String,default: 'div'}
}

在页面中使用 el-scrollbar组件

<template><div><el-scrollbar :native="false" wrapStyle="" wrapClass="" viewClass="" viewStyle="" noresize="false" tag="section"><div><p v-for="(item, index) in 200" :key="index">{
    {index}} 这里是一些文本。</p></div></el-scrollbar></div>
</template>

vue.js 父组件如何触发子组件中的方法

<template><div><button @click="clickParent">点击</button><child ref="mychild"></child></div>
</template><script>import Child from './child';export default {name: "parent",components: {child: Child},methods: {clickParent() {this.$refs.mychild.parentHandleclick("嘿嘿嘿");}}}
</script>

解决el-input v-model.number 不能输入小数点的问题,限制小数点后俩位

<el-inputv-model="formData[item.props]"maxlength="11"@input="(val) => {formData[item.props] = val.replace(/[^0-9.]/g, '').match(/^\d*(\.?\d{0,2})/g)[0] || null;}"
></el-input>

在在 Input 失去焦点时格式化为俩个小数点的格式,如 5 => 5.00

@blur="(e)=>{formData[item.props] = e.target.value ?parseFloat(e.target.value).toFixed(2) : ''}"

JavaScript将额外的参数传递给回调函数

如在一个vue组件中哄监听一个表单删除的回调函数,回调函数返回一个pid参数;

<dataItem:ref="item.val"@deleteFormItem="deleteFormItem"
></dataItem>//当没有增加额外的参数时
deleteFormItem(pid){console.log(pid) // 正常输出pid的值
}

加入要增加额外的参数,使用ECMAScript 6箭头功能:

<dataItem:ref="item.val"@deleteFormItem="(pid)=>deleteFormItem(pid,item)"
></dataItem>//当增加额外的参数时
deleteFormItem(pid,item){console.log(pid,item) // 正常输出pid,item的值
}
  相关解决方案