• 博主在写练习项目时,遇到了条件显示隐藏问题,楼主需要根据条件判断一个输入框里是否有文字来判断×号是或否显示隐藏。
        <input
          type="text"
          id="input_search"
          class="search_input"
          :placeholder="searchVal"
          v-focus
          ref="input_search"
          @input="searchForm"
          v-model.trim="searchFormVal"
        >
<!-- 绑定计算属性:data-watch='isDelIcon' 为了让计算属性进行响应-->
<div v-show="isShowIcon" @click="delSearchFormVal" :data-watch="_delIcon">
    <icon name="search_input_del" class="icon_style"></icon>
</div>
  data() {
    return {
      //搜索热词
      searchVal: "星选好店满减30",
      //搜索条件
      searchFormVal: "",
      //搜索条件列表是否显示
      isSeaSHow: false,
      //搜索条件列表是否显示
      isHotShow: false,
      //历史搜索与热门搜索列表是否显示
      isHistory: false,
      //历史搜索显示隐藏
      isShowHistory: true,
      //搜索条件删除按钮显示隐藏
      isShowIcon: false,
    };
  },
computed: {
    // 判断input是否有焦点
    _iptFoucus() {},
    //是否显示搜索条件删除按钮
    _delIcon() {
      this.isShowIcon = this.searchFormVal.length > 0;
    },
    //是否显示历史删除按钮
    _delHistory() {
      this.isShowHistory = this.historyAry.length > 0;
    }
  },
  • 为了让计算属性进行响应,楼主给加了一个自定义属性绑定计算属性,这样在input输入文字或者删除时,计算属性就可以响应到了,从而完成显示隐藏问题。
Logo

前往低代码交流专区

更多推荐