基于vue和element-ui开发仿桌面文件夹组件
  hr26MWkbkYWR 2023年11月02日 43 0

📒 背景

最近项目中需要制作一个和window系统文件夹很像的组件(如下图展示),今天分享一下这个组件功能。希望能抛砖引玉,给大家带来启发。

基于vue和element-ui开发仿桌面文件夹组件_仿windows

🔍需求功能

1.文件夹目录形式展示,类似windows系统的文件夹;

2.文件夹名校验文件夹名称,不允许特殊符合;

3.文件夹名称字数不超过225个字符;

👣设计开发

先说一下我的开发环境版本:

基于vue和element-ui开发仿桌面文件夹组件_仿windows_02

node: v11.3.0

npm: 6.4.1

vue:2.5.11

如果不是以上版本也没关系,今日分享的思路,相信你可以自己造出来~

1.基于vue2和element-ui开的的联合el-input和el-tooltip组件的复合组件:

<el-tooltip content="文件名中不能有下列符号:“?”、“、”、“/”、“╲”、“*”、“<”、“>”、“|”。"
            placement="bottom" effect="light"  :hide-after="2000"
            :manual="$store.state.isTRUE" v-model="disableddata" >
    <el-input
            type="textarea"
            autosize
            maxlength="225"
            show-word-limit
            placeholder="请输入名称"
            v-model="editName"
            @input.native ="editName = retrim(editName)"
            @focus="selectText($event)"
            style="width: 205px;"
            Ondragstart="return false"
    >
    </el-input>
</el-tooltip>

2.其中重要js逻辑如下:

//重命名的输入框 校验文件名称
retrim(name){
   if(name){
      let symbol =  /[\?\、\/\\\*\<\>\|\:\"]/g;
      this.disableddata = symbol.test(name);
      return name.replace(symbol,"");  //把有问题的符号给替换成空字符串
    }
  } 
 //点击重命名的输入框 文字全选
selectText(e){
  e.currentTarget.select();
},

然后就做出来了类似windows系统文件夹命名功能类似的组件啦:

基于vue和element-ui开发仿桌面文件夹组件_element-ui_03

elment-ui组件el-tooltip组件中manual设置为true,当校验名字时this.disableddata = symbol.test(name);即输入错误的字符就会值为true,就会显示提示,输入正确时则不提示。


🚀写在最后

如果本文中有bug、逻辑错误,或者您有更好的优化方案欢迎评论联系我哦!~关注我持续分享日常工作中的组件设计和学习分享,一起进步加油!

以上小小的功能点做个记录和分享。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
hr26MWkbkYWR