Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Trying to compare a string value from database(firestore) to a inputted string from a text field. im using vue framework

<template>
  <div id="profile" class="collection with-header">
  <div class="profview">

  </div>
  <div class="search blue">
        <div class="input-field">
              <div class="input-field">
              <i class="material-icons prefix"></i>
              <input type="text" id="usernames" v-model="usernames" />
              <label class="white-text" for="email">Enter username</label>
            </div>
              <button
              v-on:click="followlist"
              class="btn btn-large btn-extended grey lighten-4 black-text"
            >
              Search
            </button>
            </div>
  </div>
    <div class="list right red">
      {{ word }}
      <li v-for="user in users" v-bind:key="user.id" class="collection-item">

      <button v-on:click="followlist">{{user.name}}</button>
      <!--<button v-on:click="seeoptions = !seeoptions">{{user.name}}</button>-->
      <div id="options" v-if="seeoptions">
      <li><button>Follow</button></li>
      <li><button>Block</button></li>  
      <li><button>View Profile</button></li>
      </div> 
    </li>
    </div>
   </div>
</template>

<style>
template{
background-color: blueviolet
}
</style>

<script>
//lets see if we can implement the search function using login as
// a template, change data to match with what u need
import db from './firebaseInit'
import firebase from "firebase";
var auth = firebase.auth();
var exists = false;

export default {

name: "followlist",
data: function () {
  return {
    users: [],
    loading: true,
    usernames: "",
    word: 'This is a friends list',
    content: 'Info of User',
    content2: 'A search bar',
    //seeoptions1: false,
   // seeoptions2: false,
    //seeoptions3: false
  }
},
methods:{
  followlist: function(e) {
    db.collection('users').get().then((querySnapshot) =>{
      this.loading = false
      //console.log("succes");
      //let inputtedname = document.getElementById("username").value;
      //let stringName = inputtedname.toString()
      querySnapshot.forEach((doc) => {
       // console.log("succes");
        
        // console.log(stringName);
        var tempname = this.usernames;
         var temp = doc.data().username;
       // console.log(this.username);
       //  console.log(temp);
         var curruser = this.username;
        if(tempname == temp){
                      console.log(doc.data().username)
        }
        else
          console.log("dont know")
        


      })
     // console.log(stringName)
    })
  },
 
},
created () {
 // Boolean userExists = false;
    
    db.collection('users').orderBy('dept').get().then((querySnapshot) => {
      this.loading = false
      querySnapshot.forEach((doc) => {
        const data = {
          'id': doc.id,
          'name': doc.data().name,
          'dept': doc.data().dept,
          //'position': doc.data().position
        }
        this.users.push(data)
      })
    })
  }
}
</script>

ignore all the commented out console logs, anyways, i tried setting both to a variable, i tried doing it by straight comparing this.username to the one in database. its getting the username from the database correctly, ive console logged it and it worked fine, outputted all the usernames from database. however at the if statement, it will not compare them correctly if they are matches. also ignore the bottom created () section, its nnot doing anything currently. just was used to test

>Solution :

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

Its probably due to a space in one of the string.

if(tempname.trim() == temp.trim()) {
  console.log(doc.data().username)
}
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading