你好,我正試圖從我的集合中洗掉一個特定的檔案,因為我認為我知道代碼(我正在讀這個。
- 這就是它在Firestore中更新的樣子 。
- 這是它在表中的樣子:
現在我做了一個 "圖片描述"。
現在我做了一個名為deleteProduct的函式,它應該是洗掉檔案而不是整個集合的函式:
const deleteProduct = (producto)=> {
db.collection("productosAIB").doc(producto).delete()。
這就是表格被渲染/列印的地方和函式被呼叫的地方 (注意:該函式在""(引號)上,因為我不希望該函式運行,因為它將洗掉我剛剛創建的檔案)
<tbody>
{productos.map((productos, index) =>/span> (
<tr key={productos.id || index }> (
<td>
<input className = "agregarAIB_cantidad"
onChange = {(e) => {changeCantidad(productos.descripcion, e.target.valueAsNumber)}}.
型別='數字'
模式 = "[0-9]*"
需要
值 = {productos.cantidad}.
/>
</td>/span>
<td>{productos.grado}</td>
<td>/span>
{pos(192,252)}產品描述
</td> {productos.descripcion}
<td>/span>$
<input className = "agregarAIB_precio"
onChange = {(e) => {changePrecio(productos.descripcion, e.target.valueAsNumber)}}.
型別='數字'
模式 = "[0-9]*"
需要
值 = {productos.precio}.
/>
</td>/span>
<th>/span>
<button onClick = "{deleteProduct(productos.descripcion)}"/> <--這就是函式
</th>
</tr>/span>
))
}
</tbody>)
現在奇怪的是(這也是我來這里問的原因),我甚至沒有點擊按鈕,它就運行了這個功能(這就是為什么我現在把它放在引號上),這是因為它在地圖上還是什么? 因為對我來說,沒有點擊按鈕就運行是沒有道理的,它說 "OnClick "是有原因的。
無論如何,我們歡迎任何提示、檔案和幫助,如果需要完整的代碼,請告訴我。
uj5u.com熱心網友回復:
把按鈕元素改成這樣
<button onClick = { ()=>{deleteProduct(productos.descripcion)}}/> 你在做什么?
你現在所做的是立即呼叫函式。相反,你必須傳遞一個函式的實體。
uj5u.com熱心網友回復:
你可以這樣做:
你的doc_id: docID = 123abc (anything);
const handleDelete = async ( ) => {
try{
await firebase.firestore()。 collection("collectionName"/span>).doc(docID).delete()。
console.log("record deleted") 。
//更新你的狀態或任何你想在洗掉后做的事情。
}
catch(error){
console.log(error.message)。
}
}
//your Button:; }
<Button onClick={()=>{deleteProduct(ductos. descripcion)}}>Delete</Button>
uj5u.com熱心網友回復:
我建議在向Firebase添加專案時使用add()函式,這樣Firebase會自動為你的檔案生成一個唯一的ID。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/322731.html
標籤:


