• 搜索内容,删除搜索关键字


    <template>
      <div>
        <!-- 搜索框 -->
        <van-search 
        v-model="inpVal" 
        placeholder="请输入搜索关键词" 
        show-action @input="addlist"
        >
          <template #left>
            <van-icon name="arrow-left" />
          </template>

          <template #action>
            <van-button 
            type="danger" 
            size="small" 
            @click="addshowlist"
            @keydown.enter="addshowlist"> 搜索</van-button>
          </template>
        </van-search>
        <!-- 显示搜索内容 -->
        <div style="100%">
          <span class="serach-del">
            <span>最近搜索</span>
            <span @click="delicon">
              <van-icon name="delete" />
            </span>
          </span>
          <!-- 搜索内容展示 -->
          <div class="serach-showlist">
            <van-tag class="serach-showlist-child" v-for="(item, index) in list" :key="index">{{item}}</van-tag>
          </div>
        </div>

        <!-- 显示搜索内容 -->
        <div class="serach-cont" v-show="isShow">
          <van-cell-group style="100%;height:100%">
            <van-cell v-for="(item,index) in tiplist" :key="index" :title="item">
              <template #default>
                <van-tag>标签</van-tag>
              </template>
            </van-cell>
          </van-cell-group>
        </div>
      </div>
    </template>

    <script>
    export default {
      data() {
        return {
          inpVal: "",
          isShow: false,
          list: [],
          tiplist: []
        };
      },
      created() {
        if (localStorage.list0617 != undefined) {
          this.list = JSON.parse(localStorage.list0617);
        }
      },
      watch:{
        tiplist(newval){//监听是否有搜索内容
          if (newval.length > 0) {
            this.isShow = true;
          } else {
            this.isShow = false;
          }
        }
      },
      methods: {
        addshowlist() {//点击搜索时执行的
         
          if (this.list.includes(this.inpVal)) {
            return;
          } else if (this.inpVal.trim() == "") {
            return;
          }
          this.list.push(this.inpVal);
          this.inpVal = "";
          this.isShow=false
          localStorage.list0617 = JSON.stringify(this.list);
          
        },
        //   删除搜索内容事件
        delicon() {
         this.$dialog.confirm({
            title: "确认要清空内容吗?",
            message: "确定",
            closeOnClickOverlay:true
          })
            .then(() => {
                this.list=[]
            localStorage.list0617 = JSON.stringify(this.list0617);
            })
            .catch(() => {
              console.log('no')
            });
        },

        addlist() {
          
          this.$axios
            .get("http://47.94.231.184/book/auto-complete", {
              params: {
                query: this.inpVal
              }
            })
            .then(res => {
              var str = res.data.keywords;
              //  console.log(str)
              if (str.length > 13) {
                for (var i = 0; i <= 13; i++) {
                  this.tiplist.push(str[i]);
                }
              } else {
                this.tiplist = str;
              }
            })
            .catch(err => {
              console.log(err);
            });

        }
      }
    };
    </script>

    <style>
    .serach-del {
       100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      box-sizing: border-box;
      padding: 0 15px;
    }
    .serach-showlist {
       100%;
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap;
    }
    .serach-showlist-child {
      margin: 5px;
    }
    .serach-cont {
       100%;
      min-height: 450px;
      position: absolute;
      top: 55px;
      z-index: 10;
    }
    </style>
  • 相关阅读:
    delphi编程来记录QQ的聊天记录
    delphi编程模拟发送QQ2008消息!
    C++学习 破冰之旅
    C++ 宏和预编译 预编译头
    C++头文件讲解
    EXTJS将树拖拽到PANEL,drag tree drop into panel 实例
    JS数组声明技巧、数组动态添加元素
    JS二维数组的定义
    EXTJS 按钮添加右键
    提高SQL执行效率的几点建议
  • 原文地址:https://www.cnblogs.com/cyzbeke/p/13177333.html
Copyright © 2020-2023  润新知