【发布时间】:2020-06-01 02:24:24
【问题描述】:
我目前正在开发一个使用 firebase 的网络应用程序,教师可以在该应用程序中预订学校的房间。到目前为止的代码如下:
app.js:
const roomList = document.querySelector('#room-list');
function renderRoom(doc){
let li = document.createElement('li');
let buildingNumber = document.createElement('spam');
let floorNumber = document.createElement('span');
let roomNumber = document.createElement('span');
let block = document.createElement('span');
let firstName = document.createElement('span');
let lastName = document.createElement('span');
li.setAttribute('data-id', doc.id);
buildingNumber.textContent = 'Room: ' + doc.data().buildingNumber + '-' + doc.data().floorNumber + doc.data().roomNumber;
block.textContent = 'Block: ' + doc.data().block;
firstName.textContent = 'First Name: ' + doc.data().firstName;
lastName.textContent = 'Last Name: ' + doc.data().lastName;
li.appendChild(buildingNumber);
li.appendChild(floorNumber);
li.appendChild(roomNumber);
li.appendChild(block);
li.appendChild(firstName);
li.appendChild(lastName);
roomList.appendChild(li);
}
db.collection('rooms').where('buildingNumber', '==' , '5').where('floorNumber' , '==' , '1').onSnapshot(snapshot => {
let changes = snapshot.docChanges();
changes.forEach(change => {
if(change.type == 'added'){
renderRoom(change.doc);
} else if (change.type == 'removed'){
let li = roomList.querySelector('[data-id = ' + change.doc.id + ']');
roomList.removeChild(li);
}
})
})
app.html:
<!DOCTYPE html>
<html>
<head>
<link rel = "stylesheet" href = "Styles.css">
</head>
<body>
<h1>Select the room:</h1>
<div class = "content">
<form id = "add-room-list"></form>
<ul id = "room-list"></ul>
</div>
<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="https://www.gstatic.com/firebasejs/7.14.5/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.14.5/firebase-firestore.js"></script>
<!-- TODO: Add SDKs for Firebase products that you want to use
https://firebase.google.com/docs/web/setup#available-libraries -->
<script>
// Your web app's Firebase configuration
var firebaseConfig = {
apiKey: "AIzaSyDNB4Ag8hXa_FDEYdWmQ2H_GMVBpWm1-0k",
authDomain: "internal-assessment-20dd7.firebaseapp.com",
databaseURL: "https://internal-assessment-20dd7.firebaseio.com",
projectId: "internal-assessment-20dd7",
storageBucket: "internal-assessment-20dd7.appspot.com",
messagingSenderId: "905998751828",
appId: "1:905998751828:web:1d88f0d2f655eb6141f5c1"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
const db = firebase.firestore();
</script>
</form>
</body>
</html>
当前显示有人进入的房间。我想知道如何在每个房间的左侧添加一个复选框,以便您可以单击它,然后单击一个按钮,它将所选房间记录到 Firebase 中。谢谢。
【问题讨论】:
标签: javascript html firebase google-cloud-firestore